Hololens构建失败——命令AssemblyConverter.exe以1的代码退出

5
更新到最新版本的VS 2017 (版本15.3.2) 后,从Unity生成的Hololens builds一直失败,并显示以下信息:
"C:\TestFile\HoloBuild\VSApp\Unity\Tools\AssemblyConverter.exe" -platform=uap -lock="C:\TestFile\HoloBuild\VSApp\HoloBuild\project.lock.json" -bits=32 -configuration=Debug -removeDebuggableAttribute=False -uwpsdk=10.0.15063.0 -path="." -path="C:\Program Files\Unity\Editor\Data\PlaybackEngines\MetroSupport\Players\UAP\dotnet\x86\Debug" "C:\TestFile\HoloBuild\VSApp\HoloBuild\Assembly-CSharp.dll" "C:\TestFile\HoloBuild\VSApp\HoloBuild\UnityEngine.dll" "C:\TestFile\HoloBuild\VSApp\HoloBuild\UnityEngine.Analytics.dll" "C:\TestFile\HoloBuild\VSApp\HoloBuild\nunit.framework.dll" "C:\TestFile\HoloBuild\VSApp\HoloBuild\UnityEngine.UI.dll" "C:\TestFile\HoloBuild\VSApp\HoloBuild\UnityEngine.HoloLens.dll" "C:\TestFile\HoloBuild\VSApp\HoloBuild\UnityEngine.Networking.dll" "C:\TestFile\HoloBuild\VSApp\HoloBuild\UnityEngine.VR.dll"
在build输出中发现以下错误:
1> System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary. (TaskId:275) 1> at System.Collections.Generic.Dictionary`2.get_Item(TKey key) (TaskId:275) 1> at UnityEditor.Scripting.Compilers.NuGetPackageResolver.Resolve() (TaskId:275) 1> at Unity.UWPAssemblyResolver..ctor(String projectLockFile, String desiredUWPSDKVersion) (TaskId:275) 1> at Unity.OperationContext.SetPlatform(Platform platform, String projectLockFile, String uwpSDK) (TaskId:275) 1> at Unity.ParseArgsStep.Execute() (TaskId:275) 1> at Unity.Step.Execute(OperationContext operationContext, IStepContext previousStepContext) (TaskId:275) 1> at Unity.Operation.Execute() (TaskId:275) 1> at Unity.Program.Main(String[] args) (TaskId:275)
已尝试在新项目中进行操作,但结果相同,仍然显示相同的错误消息。
根据某些线程的建议,尝试删除并重新添加某些引用,以及对Unity中的一些构建设置进行调整。

我不确定这个问题是否由于更新Visual Studio引起的。 有人遇到过相同的问题吗? 我该如何构建我的项目?


1
错误"The command [...] exited with code 1."是一个通用的错误。它基本上是在说"编译器无法编译项目"。那一大堆文本实际上只是传递给编译器的参数,没有任何帮助。其余部分(从"KeyNotFoundException"开始)表明您的安装存在问题。可能是Unity 2017无法进行HoloLens编译,也可能是某个包未能正确安装,我不确定。 - Draco18s no longer trusts SE
2个回答

5
这个问题与Unity存在的一个错误有关,该错误使其无法与Visual Studio 2017(15.3)一起使用。以下是一些相关链接。我相信您可以安装Unity补丁,但我找到的最简单的解决方案是将Visual Studio降级到2015版本。如果您可以访问Visual Studio 2017(15.2),那也可以。
以下是相关链接:
  1. https://forum.unity3d.com/threads/net-scripting-backend-and-visual-studio-2017-3-incompatibility.487833/

  2. https://forum.unity3d.com/threads/build-error-assembly-csharp-dll-could-not-be-found-hololens.458493/

希望这可以帮助您!

0

我遇到了同样的问题,已经三天无法解决。我尝试过Unity 5.6.1f1、Unity 5.6.2f1、Unity 2017.1.0f3、Unity 2017.1.0p3以及新的Unity 2017.2.0b10(64位)。我已经多次删除并重新构建.sln文件,甚至从头开始创建多个项目,但问题仍然存在。

我查看了这里和其他论坛的帖子/解决方案,并尝试了那些方法,但问题仍然存在。有一件事是确定的,我没有做正确的设置或者出现了非常严重的问题,因为我已经重新安装了Unity和Visual Studio。

最终,我使用了VS 2015 SP3和Windows SDK 10.0.14393才解决了问题。 https://forum.unity3d.com/threads/build-error-assembly-csharp-firstpass-dll-could-not-be-found-hololens.488357/


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接