我在单独的解决方案中处理几个独立的Visual Studio扩展。当我打开其中一个并在调试器中启动实验实例时,也会加载其他解决方案(未打开)的其他扩展。必须有办法一次只在实验实例中启动一个扩展(特别是你当前正在处理的扩展),对吗?
答案 0 :(得分: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以来,他们似乎已经删除了很多此功能的文档,但它似乎仍然有效。
答案 1 :(得分:4)
不是真的。当您在VS中构建并运行扩展项目时,它实际上已部署到VS的实验实例,但在完成调试/运行时它们不会被卸载。
最好的办法是使用脚本重置随VS SDK提供的实验实例。不幸的是,每次在解决方案之间切换时都必须这样做。
在开始菜单中查看:
Microsoft Visual Studio 2010 SDK\Tools\Reset the Microsoft Visual Studio 2010 Experimental instance.lnk