命令...退出代码 -532462766

The Command...Exited With Code -532462766

这是给我错误的行。

<Exec Command="&quot;$(MonoGameContentBuilderExe)&quot;
/@:&quot;%(ContentReferences.FullPath)&quot; $(Header)"
WorkingDirectory="%(ContentReferences.RootDir)%(ContentReferences.Directory)" />

它来自 MonoGame.Content.Builder.targets 文件。

完整的错误是:

The command ""C:\Program Files (x86)\MSBuild\MonoGame\v3.0\Tools\MGCB.exe" /@:"C:\Users\Jake\documents\visual studio 2015\Projects\FirstGame\FirstGame\Content\Content.mgcb" /platform:Windows /outputDir:"C:\Users\Jake\documents\visual studio 2015\Projects\FirstGame\FirstGame\Content\bin\Windows" /intermediateDir:"C:\Users\Jake\documents\visual studio 2015\Projects\FirstGame\FirstGame\Content\obj\Windows" /quiet" exited with code -532462766.

我一直在将此游戏从 Visual Studio 2010 年转换为 Visual Studio 2015 年,这是此错误开始的时间。有没有人知道可能导致这种情况的原因?

原来我试图加载一个用 gimp 制作的图像文件,它的文件类型不受支持。我只需要将它导出为 png 就可以了。

就我而言,在尝试编译 cshtml 文件时,roslyn 编译器抛出了相同的错误代码。

原来是roslyn编译器版本不匹配导致的问题。让我试着解释一下这个问题:

  • 我的 csproj 有对 roslyn 编译器程序集(Microsoft.Net.Compilers 和 Microsoft.CodeDom.Providers.DotNetCompilerPlatform)的 nuget 引用。
  • 我使用 git 进行源代码控制
  • 我最近在 DEV 分支上更新了最新版本的 roslyn 编译器
  • 但我的 MASTER 分支仍在引用以前版本的 roslyn 编译器,我还没有准备好将 DEV 合并到 MASTER
  • 从团队资源管理器从 dev 分支切换到 master 分支似乎没有触发 "nuget restore" 不匹配的包

因此手动删除 packages 文件夹中的所有文件夹并执行 "nuget restore" 为我解决了这个错误。