当前位置: 首页 > news >正文

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

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


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

解决方案 - 属性

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

解决方案属性页 - 配置

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

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

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

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

新建配置

然后补充新建的信息:

填写新建配置的信息

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

取消生成 - Debug-WithoutTests

取消生成 - Release

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

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

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

相关文章:

  • 流畅设计 Fluent Design System 中的光照效果 RevealBrush,WPF 也能模拟实现啦!
  • 语义版本号(Semantic Versioning)
  • 使用 GitVersion 在编译或持续构建时自动使用语义版本号(Semantic Versioning)
  • UWP 流畅设计中的光照效果(容易的 RevealBorderBrush 和不那么容易的 RevealBackgroundBrush)
  • 使用 Emit 生成 IL 代码
  • 如何快速编写和调试 Emit 生成 IL 的代码
  • 自动将 NuGet 包的引用方式从 packages.config 升级为 PackageReference
  • 冷算法:自动生成代码标识符(类名、方法名、变量名)
  • WPF/UWP 的 Grid 布局竟然有 Bug,还不止一个!了解 Grid 中那些未定义的布局规则
  • Git 更安全的强制推送,--force-with-lease
  • 项目文件中的已知 NuGet 属性(使用这些属性,创建 NuGet 包就可以不需要 nuspec 文件啦)
  • 理解 C# 项目 csproj 文件格式的本质和编译流程
  • 如何创建一个基于命令行工具的跨平台的 NuGet 工具包
  • 如何创建一个基于 MSBuild Task 的跨平台的 NuGet 工具包
  • 如何最快速地将旧的 NuGet 包 (2.x, packages.config) 升级成新的 NuGet 包 (4.x, PackageReference)
  • 【347天】每日项目总结系列085(2018.01.18)
  • 【Redis学习笔记】2018-06-28 redis命令源码学习1
  • Bytom交易说明(账户管理模式)
  • css布局,左右固定中间自适应实现
  • github指令
  • JavaScript/HTML5图表开发工具JavaScript Charts v3.19.6发布【附下载】
  • LeetCode刷题——29. Divide Two Integers(Part 1靠自己)
  • Python 基础起步 (十) 什么叫函数?
  • SegmentFault 技术周刊 Vol.27 - Git 学习宝典:程序员走江湖必备
  • Vue实战(四)登录/注册页的实现
  • 持续集成与持续部署宝典Part 2:创建持续集成流水线
  • 搞机器学习要哪些技能
  • 每天10道Java面试题,跟我走,offer有!
  • 通过来模仿稀土掘金个人页面的布局来学习使用CoordinatorLayout
  • 再谈express与koa的对比
  • 【云吞铺子】性能抖动剖析(二)
  • 【运维趟坑回忆录】vpc迁移 - 吃螃蟹之路
  • HanLP分词命名实体提取详解
  • 组复制官方翻译九、Group Replication Technical Details
  • ​【原创】基于SSM的酒店预约管理系统(酒店管理系统毕业设计)
  • ​水经微图Web1.5.0版即将上线
  • # MySQL server 层和存储引擎层是怎么交互数据的?
  • ## 临床数据 两两比较 加显著性boxplot加显著性
  • #Linux(权限管理)
  • #mysql 8.0 踩坑日记
  • $HTTP_POST_VARS['']和$_POST['']的区别
  • (2)关于RabbitMq 的 Topic Exchange 主题交换机
  • (C语言)深入理解指针2之野指针与传值与传址与assert断言
  • (pojstep1.3.1)1017(构造法模拟)
  • (Ruby)Ubuntu12.04安装Rails环境
  • (编程语言界的丐帮 C#).NET MD5 HASH 哈希 加密 与JAVA 互通
  • (附源码)计算机毕业设计SSM智能化管理的仓库管理
  • (四)c52学习之旅-流水LED灯
  • (转)mysql使用Navicat 导出和导入数据库
  • (转)winform之ListView
  • (转)四层和七层负载均衡的区别
  • .net CHARTING图表控件下载地址
  • .net core 连接数据库,通过数据库生成Modell
  • .net oracle 连接超时_Mysql连接数据库异常汇总【必收藏】
  • .net 验证控件和javaScript的冲突问题