6

我已按照 Microsoft 在其Microsoft Holographic - Academy教程中的多个项目下列出的确切步骤进行操作。我完成了所有这些,从创建到导出和测试,它们都工作得很好。这是使用 Unity3D / C# 编译成 Visual Studio 解决方案 (sln) 文件。

完成这些之后,我继续构建自己的应用程序——它也构建得很好。没问题!

现在,当我尝试构建时 - 我收到一个奇怪的错误,即找不到 c-Sharp.firstpass 文件(我理解的导出/交叉编译的 dll)。

现在,即使成功构建的项目也不会再构建了。

我将在下面粘贴确切的错误。

我尝试过的事情:

  • 创建一个新项目并将所有以前的资产粘贴到其中 - 然后重建。
  • 清理 VS 项目
  • 重新启动我的电脑
  • 重启 Unity3D
  • 卸载并重新安装 Visual Studio(推荐版本)
  • 卸载并重新安装 Unity3D(推荐版本)
  • 再次按照教程一步一步
  • 搜索 StackOverflow 并尝试每一个问题与我的问题很相似的解决方案
  • 在 Unity 上提问(2 天前)
  • 将项目文件构建到不同的驱动器、文件夹、位置等。
  • 不放弃

似乎存在引用问题 - 所以我也未引用/引用了提到的文件。

感谢您的任何帮助。需要明确的是,这是为 Microsoft Hololens 开发的 Windows 10 通用应用程序。但是,在这种情况下,设备本身似乎与构建过程几乎没有关系,除了针对它。

最好的,

阿迪亚布

错误:

命令 ""D:\Development\Hololens Builds\PlanetApp\Unity\Tools\SerializationWeaver\SerializationWeaver.exe" "D:\Development\Hololens Projects\Planetarium\UWP\Assembly-CSharp-firstpass\bin\x86\Release\Unprocessed \Assembly-CSharp-firstpass.dll" -pdb -verbose -unity-engine="D:\Development\Hololens Builds\PlanetApp\Planetarium\Unprocessed\UnityEngine.dll" -unity-networking=D:\Development\Hololens Builds\ PlanetApp\Planetarium\Unprocessed\UnityEngine.Networking.dll "D:\Development\Hololens Projects\Planetarium\UWP\Assembly-CSharp-firstpass\obj\x86\Release\x86\Release"" 退出,代码为 1。Assembly-CSharp- firstpass D:\Development\Hololens Projects\Planetarium\UWP\Assembly-CSharp-firstpass\Assembly-CSharp-firstpass.csproj 180

找不到元数据文件“D:\Development\Hololens Projects\Planetarium\UWP\Assembly-CSharp-firstpass\bin\x86\Release\Assembly-CSharp-firstpass.dll”Assembly-CSharp D:\Development\Hololens Projects\天文馆\UWP\Assembly-CSharp\CSC

找不到元数据文件“D:\Development\Hololens Projects\Planetarium\UWP\Assembly-CSharp\bin\x86\Release\Assembly-CSharp.dll” 天文馆 D:\Development\Hololens Builds\PlanetApp\Planetarium\CSC

4

6 回答 6

3

- 更新 - -

我之前的回答仍然适用,所以我不会删除它。但是为了解决这个特定问题,请确保将生成的应用程序放在不包含任何空格的文件夹结构中。SerializatioWeaver.exe 中似乎存在一个错误,无法正确读取路径并且无法找到必要的 Unity 扩展。


确保您使用的是为 HoloLens 构建的正确 Unity3D 版本。始终使用 HoloLens 学院论坛上宣布的最新兼容版本 - 在撰写本文时,该版本是 5.4 Beta 18,您可以在此处下载

始终从 HoloLens 论坛上提供的链接下载安装程序,因为常规 Unity 版本不同。您需要为 HoloLens 构建的特殊 Unity3D 版本

安装新版本时,请始终安装在比上一个新的位置。安装 Unity 后,请始终安装您可以在我上面链接的同一页面上找到的 UWP 运行时(UWP 运行时是专门为每个版本构建的,因此请务必在 Unity 之后重新下载并安装)。安装 UWP Runtime 时,请确保为 Unity 3D 安装文件夹(您刚刚将 unity 安装到的文件夹)选择正确的位置。

如果一切安装正确,您的构建应该会再次开始工作。

于 2016-05-28T18:56:10.760 回答
1

大约 3 天没有结果后,我将全息透镜和正在使用的计算机恢复出厂设置。重新安装所有相关软件后,我的构建工作得很好。我保存到相同的驱动器/文件夹和所有内容。

如果您采用这种方法,请记住备份您的工作!

这当然不是处理这个问题的“最佳”方式,因为我不能只为每个错误恢复出厂设置。但我离解决这个问题还差得远,而且,时间就是金钱。

祝你好运,谢谢你的回答!

于 2016-05-30T19:36:17.243 回答
1

我通过使用适用于 Unity https://github.com/microsoft/HoloToolkit-Unity的 HoloLens 项目工具包,而不是从头开始,修复了生成的 SLN 中类似的缺失 DLL 问题。很明显,但让我走了。

于 2016-06-08T16:33:26.867 回答
0

我今天遇到了同样的问题,并通过将整个项目移动到路径较短的文件夹中来解决它。这可能不是你的问题,但出于某种原因它对我有用。您还必须在 .sln 文件中找到所有绝对路径并更改它们以匹配新的较短路径,以便加载您的项目。如果我没记错的话,您还必须在 .userprefs 文件夹中更改路径。

祝你好运!希望这对你有用,虽然我什至不明白为什么它对我有用。

于 2016-05-29T05:22:32.737 回答
0

我只是想把它放在那里,因为我经历了所有其他答案,但仍然无法让它发挥作用。在玩了 2 天之后,我决定从头开始为 Unity/HoloLens 项目下载的所有示例并重新开始。我在某处读到最新版本的统一与 HoloLens 配合使用,其他人指出 Unity 5.4 和 5.6 的项目在新版本中打开后将无法工作。有人建议元数据文件从那以后肯定发生了变化。我下载了最新版本的统一,目前是 2017.2.0b7,然后在“其他下载”下我去了 Windows 组件安装程序并下载了 Windows Store (.NET) 目标支持。正如@AlexDrenea 提到的,这是重要的一步。后记我确保安装了最新的 Visual Studio 2017,并安装了所有附加功能。我不得不重新运行安装程序并确保选择了“通用 Windows 平台开发”和“使用 Unity 进行游戏开发”。

至于该项目,我从头开始并修改了构建设置,与我在在线教程中找到的方式相同,但有一点不同。我没有检查“Unity C# 项目”设置。经过一番研究,我发现这不需要设置。之后,我能够毫无错误地构建到模拟器和设备

tldr; 使用 Unity 和 HoloLens 时不要使用旧示例或项目,始终使用与 HoloLens 兼容的最新版本 Unity 和最新版本的 VisualStudio,并从头开始项目。除非它们适用于您的版本。

于 2017-08-17T14:17:07.063 回答
0

在我看来,您遇到的问题是 Unity3D 和 Visual Studio 2017 (15.3) 之间不兼容,请按照以下链接查看此问题的参考资料。Hololens 构建失败 - 命令 AssemblyConverter.exe 以代码 1 退出

解决方案:

于 2017-08-26T01:32:59.183 回答