2019-4-7-VisualStudio-解决方案筛选器-slnf-文件
| title | author | date | CreateTime | categories |
|---|---|---|---|---|
|
VisualStudio 解决方案筛选器 slnf 文件
|
lindexi
|
2019-04-07 11:34:59 +0800
|
2019-04-07 10:58:41 +0800
|
VisualStudio
|
在 VisualStudio 2019 发布的时候,有一个强大的功能是不加载项目打开提升性能,此时可以用到解决方案筛选器 slnf 文件。这个文件将会带来很大的性能提升。本文将会详细告诉大家这个文件的格式以及带来的好处
在上古时代,我有一个大项目,这个大项目里面有很多单元测试和呆魔,我每次打开这个项目的时候都需要等半天。
于是想到的解决方法是创建两个 sln 文件,一个是作为核心的项目,另一个是核心项目加上测试和呆魔,如果只是需要开发,那么就打开核心的项目。如果是需要同时进行测试什么的,就可以打开另一个带单元测试的项目。
但是这样玩存在一个坑就是小伙伴只是在一个项目添加了新的项目,但是忘了在另一个项目里面添加,于是就会发现发布的版本和实际开发的版本的功能不相同。如果是核心的项目还好,编译不通过,如果是扩展就只有在测试的时候才发现没有这个功能。
于是我就被拉出去了,好在我的小伙伴 walterlv 大大用了这个科技 VS 编译太慢了吗?新建解决方案配置关闭一部分项目的编译 这样就可以提升编译的速度,在编译的时候会忽略测试或呆魔等
但是 walterlv 还没解决我的问题,我在打开工程的时候,还是需要等待 VisualStudio 加载单元测试项目,还是需要等很久。
好在 VisualStudio 2019 有了解决方案筛选器这个功能,这个功能是如何玩的?
在 VisualStudio 2019 新的欢迎界面,有了不加载项目的选择,于是就可以不加载项目打开
这时打开的项目都是不加载的,虽然打开很快,但是我需要手动加载我需要使用的项目。如果每个小伙伴都需要这样手动加载,估计我又会被拉出去
在 VisualStudio 2019 可以在第一次手动加载需要的项目之后保存解决方案筛选器 slnf 文件,当然不需要每个项目都点击重新加载,定义指定一个高层的项目,右击点击加载依赖项目,于是所有被他依赖的项目都会加载
下次小伙伴直接打开 slnf 文件的时候就可以看到只有我上次加载的项目,其他的项目默认是隐藏的
如果小伙伴忽然需要某个项目,可以右击显示隐藏的项目
那么使用 slnf 文件有什么好处?
上面说到的,可以加载只需要的项目,于是打开项目的速度很快。同时支持显示隐藏的项目,在大多数的开发都可以使用自己需要的项目,但是在临时需要其他项目的时候也可以右击加载。
那么对比多个 sln 文件的好处就是,多个 sln 可能有小伙伴忘记在多个项目添加项目,而 slnf 文件是依赖于指定的 sln 文件,所以只需要往 sln 或 slnf 里面添加一次项目就可以了。
如我在 sln 项目里面添加了呆魔项目,那么我只需要点击全保存,更新 sln 文件,然后在到 slnf 项目里面就可以看到提示项目已经修改,是否重新加载。点击重新就在就可以看到刚才加入的呆魔项目了。
反过来,如果我在 slnf 项目里面添加一个项目,在点击保存的时候也会在 sln 项目提示重新加载此时就可以看到添加的项目
那么这是如何做到的,下面告诉大家 slnf 的项目文件格式,这是一个 Json 文件,这个 Json 文件里面记录了依赖的 sln 文件和需要过滤打开的项目的相对路径,如我的一个 slnf 文件就是这样
{
"solution": {
"path": "VisualStudio2019.sln",
"projects": [
"VisualStudio2019\\VisualStudio2019.csproj"
]
}
}
这个 slnf 文件依赖于 VisualStudio2019.sln 文件,于是所有的添加项目或移除项目实际上是对 VisualStudio2019.sln 文件进行添加或移除项目,不会修改 slnf 文件,于是就可以同步修改一次,不会因为有多个项目忘记添加
同时记录了需要加载的项目的相对路径,这样就可以在启动的时候只加载需要的项目而不需要去读取分析 sln 文件,只有在右击显示隐藏的项目的时候才读取分析 sln 文件找到其他的项目
通过 slnf 文件可以加载只需要的项目,同时解决多个 sln 文件添加项目的同步问题,提升了项目文件打开的性能和编译性能
更多的新功能请看 VisualStudio 2019 新特性
2019-4-7-VisualStudio-解决方案筛选器-slnf-文件的更多相关文章
- 2019-11-29-VisualStudio-解决方案筛选器-slnf-文件
title author date CreateTime categories VisualStudio 解决方案筛选器 slnf 文件 lindexi 2019-11-29 08:41:13 +08 ...
- 创建、导入、导出、复制以及粘贴 WMI 筛选器
TechNet 库 Deployment Forefront Identity and Access Management 基础结构优化 浏览器 Microsoft Dynamics Products ...
- 一个或多个筛选器或者Listeners启动失败 的问题探索以及解决方案
2020年10月9日更新 经过本人对SSM框架理解的加深和对IDEA工具使用的熟悉,现提出一种新的解决办法,以前的解决办法可能存在问题 1. 问题描述: 使用IDEA作为开发工具,使用Maven作为项 ...
- [已解决]:调用 LoadLibraryEx 失败,在 ISAPI 筛选器 "c:\Windows\Microsoft.NET\Framework\v4.0.30319\\aspnet_filter.
现象:我的是 win7, iis7, 64bit, 打开网站错误如下: 错误摘要 HTTP 错误 500.0 - Internal Server Error 调用 LoadLibraryEx 失败,在 ...
- 无法加载ISAPI 筛选器 当前配置只支持加载为 AMD64 处理器体系结构创建的映像
无法加载ISAPI 筛选器 当前配置只支持加载为 AMD64 处理器体系结构创建的映像 2011-11-9 0:18:49来源:本站原创作者:清晨320我要评论(0) 今天服务器的伪静态死活加载不上去 ...
- 表示层设计模式:Intercepting Filter(截取筛选器)模式
上下文 问题 影响因素 解决方案 变体 示例 结果上下文 相关模式 致谢 上下文 对于任何一个曾经从头建立 Web 应用程序的人来说,他们都会有这样的体会:这项任务所需要的独立完成 ...
- VS2015解决方案资源管理器空白,不显示内容
解决方法: 1.先关闭vs: 2.把C:/Users/<users name>/AppData/Local/Microsoft/VisualStudio/14.0/ComponentMod ...
- HTTP 筛选器 DLL C:\Windows\Microsoft.Net\Framework\v4.0.30319\aspnet_filter.dll 加载失败。数据是错误。
今天在一台win2003的云主机上,安装.net 4.0时,所有的网站都打不开了.打开事件查看器,发现以下错误: HTTP 筛选器 DLL C:\Windows\Microsoft.Net\Frame ...
- Filter List Views 筛选器列表视图
In this lesson, you will learn how to filter a List View. Three techniques, based on different scena ...
随机推荐
- umask权限使用
很显然,系统中各种文件的权限设置对特定用户的数据安全有很大影响.但是要求用户逐一明确设置系统中每个文件的权限也是不现实的,为此,需要使用umask命令,该命令可以为用户账号中新文件的创建进行缺省设置. ...
- TZOJ 2478 How many 0's?(数位DP)
描述 A Benedict monk No.16 writes down the decimal representations of all natural numbers between and ...
- 【python之路24】装饰器
1.装饰器的应用场景 通常IT公司的程序开发是分工的,例如某公司某个部门负责底层函数的开发,另一个部门利用其函数实现高级功能,那么如果负责底层开发的函数需要改动,一般来说不会直接在函数上进行修改,通常 ...
- Django项目:CRM(客户关系管理系统)--29--21PerfectCRM实现King_admin查看页面美化
{#table_data_list.html#} {## ————————08PerfectCRM实现King_admin显示注册表的字段表头————————#} {% extends 'king_m ...
- HDU5412 CRB and Queries 整体二分
传送门 刚觉得最近写代码比较顺畅没什么Bug,cdq分治真是我的一个噩梦.. 整体二分模板题,带修改的区间第k小. vjudge不知抽什么风,用不了,hdu忘了密码了一直在那里各种试,难受.. 写得比 ...
- Lvs 环境搭建 vbox搭建centos6.9 vbox设置 centos上安装nginx
1.现在vbox上虚拟出3个虚拟机,分别为负载均衡器(Load Balance).实际服务器1(Real server1).实际服务器2(Real Server2) 要点: :vbox系统网络连接方式 ...
- Java方法传参的问题
1.基本数据类型(byte,short,int,long,float,double,boolean,char)的值传递,不改变其值 2.引用数据类型的值传递,改变其值 3.String类型虽然是引用数 ...
- ue4同c#通信时的中文乱码问题
转:https://blog.csdn.net/XIAOZHI0999/article/details/80785570 本文讨论C#同ue4进行通信,出现的中文乱码情况,其他语言类似. 本文分两种情 ...
- jquery Select2 学习笔记之中文提示 - CSDN博客
首先学习这个东西呢,还是看官网比较全面 select2官网例子 要select2中文显示:必须要引入中文包,且一定要放在select2.js之后 [javascript] view plain cop ...
- mybatis官网文档mybatis_doc
在平时的学习中,我们可以去参考官网的文档来学习,这个文档有中文的,方便我们去阅读,而且这里的分类很详细. 官网文档链接:http://www.mybatis.org/mybatis-3/zh/inde ...