【发布时间】:2011-09-03 18:26:02
【问题描述】:
我正在使用不同的解决方案开发几个独立的 Visual Studio 扩展。当我打开其中一个并在调试器中启动实验实例时,其他解决方案(未打开)的其他扩展也会被加载。一定有一种方法可以一次只在实验实例中启动一个扩展(尤其是您当前正在开发的那个),对吧?
【问题讨论】:
标签: visual-studio-2010 vsx visual-studio-extensions
我正在使用不同的解决方案开发几个独立的 Visual Studio 扩展。当我打开其中一个并在调试器中启动实验实例时,其他解决方案(未打开)的其他扩展也会被加载。一定有一种方法可以一次只在实验实例中启动一个扩展(尤其是您当前正在开发的那个),对吧?
【问题讨论】:
标签: visual-studio-2010 vsx visual-studio-extensions
您实际上可以通过使用“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 以来,他们似乎已经删除了很多有关此功能的文档,但这一切似乎仍然有效。
【讨论】:
不是真的。在 VS 中构建并运行扩展项目时,它实际上是部署到 VS 的实验实例中,但在完成调试/运行时并没有卸载。
最好的办法是使用脚本来重置 VS SDK 提供的实验实例。不幸的是,每次在解决方案之间切换时都必须这样做。
在开始菜单中查找:
Microsoft Visual Studio 2010 SDK\Tools\Reset the Microsoft Visual Studio 2010 Experimental instance.lnk
【讨论】: