ios - 以前工作的 Xamarin iOS 项目无法构建并出现 MSB6006 错误

标签 ios xamarin xamarin.ios mono visual-studio-mac

当我尝试构建我的 Xamarin iOS 项目时,出现此错误:

/Library/Frameworks/Mono.framework/Versions/5.0.1/lib/mono/msbuild/15.0/bin/Roslyn/Microsoft.CSharp.Core.targets(5,5): Error MSB6006: "csc.exe" exited with code 1. (MSB6006)

似乎是因为 Mono 5.0,但我不知道如何修复它!

最佳答案

Roslyn 中实际上存在一个与编译包含 async partial 的项目相关的上游错误。导致这种情况的方法。

公共(public)漏洞 56246在 Xamarin 错误跟踪器上已归档以跟踪将上游“csc.exe”修复包含在 Mono 5.0 中。

Mono 5.0 和 Mono 4.8.1 都包含 mcs(Mono 的编译器)和 csc,但是,Mono 4.8.1 默认使用 mcs,而 5.0 默认使用 csc。

在等待修复到 Xamarin 环境时,有一个临时解决方法可以让您启动并运行。你可以temporarily switch back to using mcs and xbuild in Mono 5.0 :

  1. 添加以下 PropertyGroup元素添加到您的应用程序项目的 .csproj 文件底部,就在结束前 </Project>标签:

    <PropertyGroup Condition=" '$(OS)' == 'Unix' "> <CscToolExe>mcs.exe</CscToolExe> </PropertyGroup>

  2. 禁用 Visual Studio > Preferences > Build > Build with MSBuild instead of xbuild .

  3. 关闭,然后重新打开解决方案并仔细检查新设置。

  4. 清理并重建。

关于ios - 以前工作的 Xamarin iOS 项目无法构建并出现 MSB6006 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44353837/

相关文章:

xamarin - Webview 无法滚动

android - 在 Xamarin 中从外部 SD 卡上的 URI 获取路径

ios - 尝试编码按钮按下以将字符串添加到数组时出错

ios - 如何在 Swift 中为 Int 数组(自定义字符串结构)实现 Hashable 协议(protocol)

ios - 访问在 Storyboard 中创建的自定义 uitableviewcell 中的文本标签

ios - 滑动以使用 Segue 编辑详细信息

ios - 贝塞尔曲线在 Mac 上被裁剪

c# - Monotouch 中的 System.ComponentModel.BackgroundWorker - 正确用法?

c# - 如何在 Monotouch 中获取 iOS 设备和版本

ios - Monotouch - 以横向创建的 View 以纵向显示