【问题标题】:VS2022 Interfering with VS2019VS2022 干扰 VS2019
【发布时间】:2022-08-08 15:50:32
【问题描述】:

我正在尝试将 Unity 项目部署到 HoloLens。 Unity 成功构建了 Visual Studio 解决方案。该解决方案将使用 VS2019 构建和部署。该解决方案使用 VS2019 构建时没有任何错误。但是,当尝试在安装了 VS2019 和 VS2022 的机器上构建它时,它会失败,因为它尝试使用 VS2022 的编译器和链接器(即使我在 VS2019 中执行该项目)。如果我卸载 VS2022,它工作正常。它似乎以某种方式尝试使用安装的最新版本作为其某些配置的一部分。这是在 VS2019 中构建解决方案时输出的一部分。

正如您在图片中看到的,它引用的是 2022 而不是 2019。有什么办法可以改变它吗?或者为什么安装时使用2022?

  • 选择最新的 MSVC 似乎是 Visual Studio 的默认行为。您在使用 Visual Studio 2022 时是否遇到任何问题?事实上,VS 2022 是推荐用于 MR 开发的版本,如 docs.microsoft.com/en-us/windows/mixed-reality/develop/… 所述。此外,如果您尝试将项目构建到 HoloLens 2,则可能需要将目标平台更改为 ARM64。
  • 我正在工作的项目不会建立在 VS2022 上。它有依赖关系,我使用的是旧版本的 Unity。我确实尝试过安装了旧工具集的 VS2022,但没有运气。正如我在帖子中提到的,当机器中未安装 VS2022 时,使用 VS2019 构建没有问题。
  • 此问题已报告给产品团队,但需要更多时间来挖掘根本原因。根据描述,目前的解决方法是卸载 VS 2022,如果您对业务有任何影响,请告诉我。谢谢你的耐心。

标签: visual-studio unity3d build hololens


【解决方案1】:

Visual Studio 项目是从 Unity il2cpp 生成的。 Unity il2cpp 构建过程可能对链接器和编译器路径的值进行硬编码。但是,il2cpp 构建过程是 Unity 拥有的,没有具体的配置可以让 Visual Studio 自动选择当前的 Linker 和 Complier。

根据我的经验和 Unity 论坛的讨论,Unity 尝试使用最新的编译器和链接来利用 ARM64。如果没有错误,使用最新的msvc就可以了。如果您有任何疑虑,请从 Unity 社区寻求专门的支持——Unity Answers

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-09-23
    • 2015-02-09
    • 2012-07-17
    • 2019-06-17
    • 2015-02-12
    • 2011-04-02
    • 2020-04-01
    • 2017-08-27
    相关资源
    最近更新 更多