【发布时间】:2018-10-15 22:33:40
【问题描述】:
我在使用 Mono 在 Windows 10 上构建解决方案时遇到了问题。
我开始尝试为我正在开发的游戏构建整个解决方案。此解决方案在 Mac 上构建得很好(使用 Mono),但我们无法让它在 Windows 10 中运行。
当我在这个问题上陷入困境时,我已将所有内容缩小到构建一个几乎为空的解决方案文件的地步,该文件引用单个 .CSProj 文件,该文件本身是空的,我仍然得到错误。
以下是引导我走到现在的步骤。
- 全新安装 Windows 10
- 安装 Mono 5.16
- 为 .Net 4.7.1 安装 .Net Framework 开发人员包
- 将我的解决方案复制到机器上
- 打开命令提示符
- 导航到解决方案目录
- 运行
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