【问题标题】:Hololens Apps Will No Longer Build - Cites Metadata file missing and c-Sharp.firstpass not foundHololens 应用程序将不再构建 - 引用元数据文件丢失且 c-Sharp.firstpass 未找到
【发布时间】:2016-05-25 20:45:39
【问题描述】:

我已按照 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 通用应用程序。但是,在这种情况下,设备本身似乎与构建过程几乎没有关系,除了针对它。

最好的,

Addyarb

错误:

命令 ""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\Planetarium\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

【问题讨论】:

标签: c# visual-studio windows-10-universal hololens


【解决方案1】:

---更新---

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


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

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

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

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

【讨论】:

  • 谢谢亚历克斯。我今天能够重现此错误并找到解决方案(基于您的)。我试图更新我的图标/应用程序名称并最终在我的标题中放置了一个空格。当我去构建时 - 我遇到了与前面提到的类似的错误。但是,当我从 Unity 重建解决方案并在名称中没有空格的情况下再次尝试时,我收到了同样的错误。我的解决方案是通过转到文件>构建设置>播放器设置>发布设置>创建然后创建一个新证书来重新生成证书。
  • 要添加到这个,如果你“重命名”(即添加一个空格)你的项目/应用程序名称,Unity/VS 将生成另一个 sln - 但在同一个文件夹中。我不确定这是否会影响导出/构建,但它会给事情带来麻烦是有道理的。
【解决方案2】:

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

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

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

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

【讨论】:

  • 我想知道如果它对您不起作用,您为什么要接受它?我也在尝试找到解决此问题的方法,并且真的不想将我的计算机恢复出厂设置。
【解决方案3】:

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

【讨论】:

    【解决方案4】:

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

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

    【讨论】:

      【解决方案5】:

      我只是想把它放在那里,因为我浏览了所有其他答案,但仍然无法让它发挥作用。在玩了 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,并从头开始项目。除非它们适用于您的版本。

      【讨论】:

        【解决方案6】:

        在我看来,您遇到的问题是 Unity3D 和 Visual Studio 2017 (15.3) 之间不兼容,请点击以下链接查看此问题的参考资料。 Hololens Build Failing - The command AssemblyConverter.exe exited with code 1

        解决方案:

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-01-07
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-07-03
          • 1970-01-01
          相关资源
          最近更新 更多