c# - 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 认为构建成功,该文件夹仍然是空的。
解决方案
该问题是由Disable the full build of projects
Unity 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
推荐阅读
- automation - Kubernetes作业成功后复制报告
- javascript - Google API 无故响应 403 禁止
- scala - SCALA 在 listFiles 上包含多个条件
- c# - 无法使用 ngrok 在本地测试我的 Telegram Bot
- spring - 如何使用 Spring Security 使用 ping 访问和在标头中传递的用户名对经过预身份验证的 LDAP 用户进行身份验证?
- bash - 在不使用 ARGV 的情况下将参数从 bash 传递到 perl
- c++ - 如何将 static_cast 转换为变量的类型
- asp.net-mvc - GetAuthCookie() 和更改域 cookie
- angular - Angular:订阅 Observable 时,AgGrid 不会更新行
- javascript - 我已经设置了正文,html 元素高度 100%,即使 div 元素高度 100% 不起作用