4

我在不同的解决方案中处理几个独立的 Visual Studio 扩展。当我打开其中一个并在调试器中启动实验实例时,其他解决方案(未打开)的其他扩展也会被加载。必须有一种方法可以一次只在实验实例中启动一个扩展(特别是您当前正在处理的那个),对吧?

4

2 回答 2

5

实际上,您可以通过使用“RootSuffix”参数的不同、任意值(这将在注册表中创建多个单独的基本键)创建任意数量的实验实例,但我不确定配置 VSSDK 项目有多容易(例如 VsPackage 的)发布到不同的 VS 配置单元。可能只是您在每个项目文件中设置的属性。每个实验实例都是完全独立的。

因此,您可以运行“devenv.exe /RootSuffix MyFirstInstance”和“devenv.exe /RootSuffix MySecondInstance”,每个都将使用单独的用户扩展集。这将导致分别使用注册表项 HKCU\Software\Microsoft\VisualStudio\10.0MyFirstInstance_Config 和 HKCU\Software\Microsoft\VisualStudio\10.0MySecondInstance_Config。

自 VS2005 以来,他们似乎已经删除了很多有关此功能的文档,但这一切似乎仍然有效。

于 2011-09-04T21:25:57.893 回答
4

并不真地。当你在 VS 中构建并运行扩展项目时,它实际上是部署到 VS 的实验实例中,但在你完成调试/运行时它们并没有被卸载。

最好的办法是使用脚本来重置 VS SDK 提供的实验实例。不幸的是,每次在解决方案之间切换时都必须这样做。

在开始菜单中查找:

Microsoft Visual Studio 2010 SDK\Tools\Reset the Microsoft Visual Studio 2010 Experimental instance.lnk

于 2011-09-03T18:47:22.043 回答