在Visual Studio中卸载不同的项目集

7

是否有一种Visual Studio扩展程序,可以提供创建类似于“未加载项目配置文件”的解决方案的功能?

我有一个包含大量项目(~100)的解决方案。在处理某个特定部分时,我可以卸载不相关的项目以提高性能。我希望能够保存这组已卸载的项目,这样当我转而处理另一部分时,就可以加载它的项目。


我不想听起来很无礼,但是也许您可以考虑换一台新电脑?硬件比开发人员的时间便宜得多。我的 Visual Studio 解决方案包含 100 多个项目,因为它在 SSD 上运行,所以加载时间少于 10 秒钟。 - congusbongus
1
哦,我有一台不错的开发电脑,相比于2010年,2012年肯定更擅长处理大量项目 - 但是如果VS(以及像ReSharper这样的插件)只需要查看有限的子集,那仍然会有所不同。 - David Gardiner
可能是如何在解决方案中加载/卸载多个项目?的重复问题。 - StriplingWarrior
3个回答

6
我最终写了自己的扩展程序来实现这个功能 - 为Visual Studio 2012开发的“Loaded Projects” (下载地址)。
但后来我发现了 Dimitri Dering 开发的 Funnel,它将相同的概念提升到了更高的水平,并具有更加精美的用户界面和额外的功能。

太棒了。Funnel非常棒。 - Jon Crowell
关于在VS 2019中使用“解决方案筛选器文件”执行此操作的新功能,请参见我的回答。 - Derek
1
就此而言,“_警告:此扩展程序的开发已经停止。微软不再支持vsFunnel在加载时用于过滤项目的VS 2017 API界面。_”但它似乎仍然可以在VS 2017及更早版本上正常运行,只是会有一些可接受的奇怪情况。 - ruffin

3

Visual Studio 2019引入了一个新概念,称为“解决方案筛选文件”。

https://learn.microsoft.com/zh-cn/visualstudio/ide/filtered-solutions?view=vs-2019

你可以在卸载你想要的项目后右键单击解决方案,然后选择“另存为解决方案筛选器”。它会创建一个包含要在打开时“包括”的项目列表的文件。

因此,如果添加了新的项目,我认为它不会被捕获。

还有一个重要的功能需要注意,就是右键单击“显示已卸载的项目”和右键单击“隐藏已卸载的项目”。

请注意,该文件看起来像这样:

{
  "solution": {
    "path": "IvaraDotNet.sln",
    "projects": [
      "AssetManagement\\StaticLoad\\AssetManagementStaticLoad.vcxproj",
       ....
      "framework\\oqpersman\\oqpersman.vcxproj"
    ]
  }
}

这里是该功能的文档 - Wallace Kelly

2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接