C# VisualStudio没有';t将Unity项目的二进制文件放入输出文件夹

C# VisualStudio没有';t将Unity项目的二进制文件放入输出文件夹,c#,visual-studio,unit-testing,unity3d,build,C#,Visual Studio,Unit Testing,Unity3d,Build,我正在开发一个包含默认Unity项目(Assembly CSharp)的解决方案 我在解决方案中添加了一个测试项目,其中引用了Assembly CSharp。根据IntelliSense,测试项目确实看到了Assembly CSharp中的类型,但是当我试图构建解决方案时,我得到了以下错误: 未能找到元数据文件“MyProjectFolder\Temp\bin\Debug\Assembly CSharp.dll”。 因此,我无法在我的Unity项目上运行单元测试 事实上,当我构建Unity项目时

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

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

未能找到元数据文件“MyProjectFolder\Temp\bin\Debug\Assembly CSharp.dll”。

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


事实上,当我构建Unity项目时,
\Temp\bin\Debug
文件夹仍然是空的,即使VS.将构建识别为成功的该问题是由于
禁用项目的完整构建
设置造成的,这是Unity Tools extension中新增的设置。它阻止创建二进制文件,这会加快实际未使用二进制文件的情况,如启动调试器时

在Visual Studio设置中关闭此设置可修复此问题。现在,所有构建产品都放在
/Temp/bin/Debug
文件夹中,我可以运行单元测试。
功能请求
我向VS发出了一个特性请求,以便能够在解决方案级别定义此设置,这样您就可以有一个用于速度的解决方案和一个用于单元测试的解决方案。我希望它能获得足够的票数:

你在为哪个平台建设?您对4个项目的看法是否与在unity中打开脚本时得到的看法相同?知道这一点很重要,因为在某些情况下,像您这样添加项目是没有帮助的。你这样做是因为你想写单元测试吗?如果是的话,网上有大量的指南。当在VS中打开一个新的Unity项目的源代码时,这个解决方案实际上只包含Assembly CSharp(我相信这与过去不同)。我调整了这个问题使它更简单。不过,我认为您忽略了我真正的问题-这与学习如何编写单元测试无关,而是任何其他程序集(例如单元测试项目)无法使用我的Unity项目程序集。我不知道此设置。感谢您对此事的澄清。令人惊讶的是,他们这样做完全打破了ProjectReference协议的期望,并且按照DeveloperCommunity上的常规规则,感谢您记录您的发现。谢谢您,在找到您的答案之前,我研究了很长时间!