新的 PCL 项目不在 Mac/Xamarin 工作室上构建
Posted
技术标签:
【中文标题】新的 PCL 项目不在 Mac/Xamarin 工作室上构建【英文标题】:New PCL project not building on Mac/Xamarin studio 【发布时间】:2013-08-06 03:44:22 【问题描述】:我们正在努力构建我们的项目,直到今天这还不是问题。
我们得到了一个包含多个项目的解决方案,包括可移植类库 (PCL) 项目。我们之前已经成功构建了这些项目,但我们的 Macbook 失去了构建这些项目的能力。
每个 PCL 项目总共出现 31 个构建错误:
- The predefined type 'System.Object' is not defined or imported (CS0518)
- The predefined type 'System.ValueType' is not defined or imported (CS0518)
- The predefined type 'System.Attribute' is not defined or imported (CS0518)
- 28 more times the same error stating other basic classes like Int16, Int32, Double, Single, etc.
为了查看这种情况是否总是发生,我使用新的 PCL 项目创建了一个新的解决方案。试图编译它,我在那里得到了同样的错误。 检查参考文献后,我发现它们都是“红色的”。
我正在使用 Xamarin Studio 4.0.10,但我也在 MonoDevelop 中尝试过。两者都没有成功。
我可以简单地在 VS + Xamarin.ios 插件中创建一个项目并将其推送到 mac,它就会运行。但是在 Mac 本身上构建,不再适用了。
额外的,可能相关的信息:
我们之前是在 Mac 上开发的。扩展 monotouch 许可证后,我们下载了 Xamarin.iOS 插件并在 Windows 机器上继续开发。 延长许可后,我们还获得了 monotouch 和 Xamarin studio 的新更新 自扩展许可以来,我们没有直接在 Mac 上构建。 我们今天决定直接在 Mac 上构建,因为我们无法通过 Visual Studio 在实际设备上运行该应用。欢迎任何可能的解决方案。
【问题讨论】:
您检查过您使用的 .net 版本吗? .NET 4 我希望新创建的 PCL 项目无需任何修改即可运行。以前也是这样。 最近的 Xamarin.iOS 中的 PCL 功能已损坏,请参阅 here。我不知道任何修复即将到来。 在 Beta 通道中将您的 Mono 更新到 3.2.1。 这似乎奏效了。我们更新到了 beta 频道,它又开始工作了。谢谢。 【参考方案1】:这是当前版本(3.2.0)中的一个错误
你可以:
使用 Visual Studio 构建您的 PCL 项目或 切换到 alpha 通道并升级到 3.2.1 alpha。转到 Xamarin Studio > 检查更新 > 并将更新通道设置为 Alpha。这包括 3.2.0 的修补程序,我认为它与损坏的 PCL 相关更新
虽然 alpha 版本 (3.2.1) 能够构建新的 PCL 项目,但仅此而已。对我来说,它无法识别许多关键字并在我的实际项目中给出无意义的错误。如果我找到修复程序,我会在这里发布。
【讨论】:
alpha 通道在这里工作正常!构建并运行。问题是,我们之前已经发布了一个应用程序,它具有较旧的稳定版本。看起来他们在新版本中破坏了它或其他东西......【参考方案2】:我已安装 3.2.1 版本,似乎已修复 PCL 问题,但我不断收到“您是否缺少 `System.Xml.Linq' 程序集参考?”问题。
【讨论】:
以上是关于新的 PCL 项目不在 Mac/Xamarin 工作室上构建的主要内容,如果未能解决你的问题,请参考以下文章
从 xamarin.mac / xamarin.forms 的编辑菜单中删除表情符号和符号
忽略 Xamarin.Forms (PCL) 中的 SSL 证书错误
Vue 组件工作主 Vue 实例,但不在 Vue Router 组件中