首页 > 解决方案 > Visual Studio 不会将 Unity 项目的二进制文件放入输出文件夹

问题描述

我正在开发一个包含默认 Unity 项目(Assembly-CSharp)的解决方案。

我在解决方案中添加了一个测试项目,并引用了Assembly-CSharp。根据 IntelliSense,测试项目确实看到了来自Assembly-CSharp的类型,但是当我尝试构建解决方案时,我收到以下错误

Metadata file 'MyProjectFolder\Temp\bin\Debug\Assembly-CSharp.dll' could not be found.

因此,我无法在我的 Unity 项目上运行单元测试

事实上,当我构建 Unity 项目时,.\Temp\bin\Debug即使 VS 认为构建成功,该文件夹仍然是空的。

标签: c#visual-studiounit-testingunity3dbuild

解决方案


该问题是由Disable the full build of projectsUnity Tools 扩展中的新设置引起的。它可以防止创建二进制文件,从而加速它们实际上没有被使用的情况,例如启动调试器时。

在此处输入图像描述

在 Visual Studio 设置中关闭此设置可解决此问题。现在所有构建产品都放在./Temp/bin/Debug文件夹中,我可以运行单元测试。

功能要求

我向 VS 提出了一个功能请求,以便可以在解决方案级别定义此设置,这样您就可以拥有 1 个速度解决方案和 1 个单元测试解决方案。我希望它会获得足够的选票:https ://developercommunity.visualstudio.com/idea/798543/make-it-possible-to-manipulate-the-disable-the-ful.html


推荐阅读