取消

VS 编译太慢了吗?新建解决方案配置关闭一部分项目的编译

手头的解决方案真大!里面的项目个数达到了 30 个或是 50 个?然而接近一半是单元测试项目和辅助工具。再加上一些不尽如人意的项目优化,编译速度真的是无力吐槽。幸好 Visual Studio 提供了解决方案配置功能,可以让我们在编译时略过一些项目。


在解决方案上右击选择“属性”,我们将打开“解决方案属性页”。

解决方案 - 属性

在属性页种选择“配置”,则可以开始指定项目是否生成或部署。

解决方案属性页 - 配置

然而,我们只在这两种情况下才不需要单元测试:

  • 有些电脑性能太差,带不动这么大的解决方案
  • Release 下是用于发布产品的,不需要编译和执行单元测试(这并不是说发布产品前不用跑单元测试

对于第一种情况,我们需要新建一个解决方案配置来应对,让电脑性能较差的开发者使用单独的配置;第二种情况则可以直接在 Release 上改。

要新建配置,需要进入“配置管理器”,在“活动解决方案配置”中选择“新建”。

新建配置

然后补充新建的信息:

填写新建配置的信息

在新的解决方案配置和 Release 中取消单元测试项目的生成。

取消生成 - Debug-WithoutTests

取消生成 - Release

关闭和确认对话框之后,就会发现 Visual Studio 中之前用于选择 Debug/Release 的下拉框现在多出了 Debug-WithoutTests 配置。

并且如果选中了 Debug-WithoutTests 或者 Release 后,无论是生成还是重新生成解决方案,更或者是使用命令行编译,都不会生成单元测试项目。

额外的,这些配置是团队共享的,因为它储存在 sln 文件中;至于哪一个处于选中状态是团队成员自己的配置,不会互相影响。

本文会经常更新,请阅读原文: https://blog.walterlv.com/post/skip-building-using-solution-configuration.html ,以避免陈旧错误知识的误导,同时有更好的阅读体验。

知识共享许可协议

本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。欢迎转载、使用、重新发布,但务必保留文章署名 吕毅 (包含链接: https://blog.walterlv.com ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请 与我联系 ([email protected])

登录 GitHub 账号进行评论