【问题标题】:I'm having trouble building a solution on Windows 10 using Mono我在使用 Mono 在 Windows 10 上构建解决方案时遇到问题
【发布时间】:2018-10-15 22:33:40
【问题描述】:

我在使用 Mono 在 Windows 10 上构建解决方案时遇到了问题。

我开始尝试为我正在开发的游戏构建整个解决方案。此解决方案在 Mac 上构建得很好(使用 Mono),但我们无法让它在 Windows 10 中运行。

当我在这个问题上陷入困境时,我已将所有内容缩小到构建一个几乎为空的解决方案文件的地步,该文件引用单个 .CSProj 文件,该文件本身是空的,我仍然得到错误。

以下是引导我走到现在的步骤。

  1. 全新安装 Windows 10
  2. 安装 Mono 5.16
  3. 为 .Net 4.7.1 安装 .Net Framework 开发人员包
  4. 将我的解决方案复制到机器上
  5. 打开命令提示符
  6. 导航到解决方案目录
  7. 运行C:\Program Files\Mono\bin\msbuild.bat

我收到以下错误:

C:\ProgramFiles\Mono\lib\mono\msbuild\15.0\bin\Roslyn\Microsoft.CSharp.Core.target(52,5): 
error MSB6006: "csc.exe"exited with code 1. 
[C:\Users\bconley\workspace\test\TestProj\TestProj.csproj]

msbuild.bat 的输出中,它告诉我当事情失败时它正在执行什么命令,所以我尝试自己运行它:

"C:\Program Files\Mono\lib\mono\msbuild\15.0\bin\Roslyn\csc.exe" /noconfig /nowarn:1701,1702 /nostdlib+ /platform:AnyCPU /errorreport:prompt /warn:4 /define:DEBUG;TRACE /highentropyva+ /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.7.1\mscorlib.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.7.1\System.Core.dll" /debug+ /debug:full /filealign:512 /optimize- /out:\Debug\TestProj.dll /subsystemversion:6.00 /target:library /utf8output Properties\AssemblyInfo.cs "C:\Users\bconley\AppData\Local\Temp\.NETFramework,Version=v4.7.1.AssemblyAttributes.cs"

该命令给出以下错误:

Could not load file or assembly 'System.Text.Encoding.CodePages, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.

我完全被难住了。似乎我缺少一些基本的依赖。我认为 Mono 仍然可以在 Windows 上运行?

【问题讨论】:

  • 您正在构建什么样的项目?是否需要 NuGet 还原? (例如 .net 核心应用程序)
  • 不,应该不需要 NuGet。在解决此问题的过程中,我已将其缩减为一个空 csproj 和一个指向它的解决方案文件,但我仍然遇到问题。

标签: msbuild mono csproj solution csc


【解决方案1】:

终于找到了解决办法。他们只是不将 System.Text.Encoding.CodePages.dll 与 csc.exe 一起发布。 从 NuGet 或 Visual Studio 中删除它

Microsoft Visual Studio\2019\Community\MSBuild\Current\bin\Roslyn\

进入

Mono\lib\mono\msbuild\15.0\bin\Roslyn\

【讨论】:

  • 感谢您的信息!我完全忘记了这个问题(11个月前发布)。我通过安装非单声道 VS 构建工具来解决这个问题。很高兴知道有一个非hacky修复!我赞成你的回答,但显然我对 Stack Overflow 太陌生了,无法计算。再次感谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-02
  • 1970-01-01
  • 2020-03-20
相关资源
最近更新 更多