4

我目前正在开发一个 Visual Studio 插件,但是当我关闭 Visual Studio 并关闭我的机器并在第二天回来时,我无法构建该插件,因为它当前已加载到 Visual Studio 中。如何解决这个问题,这样我就不必在每次想要调试或更改我的加载项时手动删除删除并重新安装加载项?

4

3 回答 3

3

插件通常由放置在这些位置之一的 .AddIn 文件加载

C:\Documents and Settings\All Users\Application Data\Microsoft\MSEnvShared\Addins\ C:\Documents and Settings\Computer.User\My Documents\Visual Studio 2008\Addins

因此,当我进行 AddIn 开发时,我会使用特殊的 .bat 文件启动 Visual Studio。在处理其他项目时,我也会使用 AddIn,因此会有额外的复杂性。这是我使用的文件的示例:

:: My installed .AddIn file goes in All Users directory
move "C:\Documents and Settings\All Users\Application Data\Microsoft\MSEnvShared\Addins\Sample.AddIn" "C:\Documents and Settings\All Users\Application Data\Microsoft\MSEnvShared\Addins\Sample.AddIn_"

:: just in case it got left from the previous session
del "C:\Documents and Settings\Computer.User\My Documents\Visual Studio 2008\Addins\Sample_dbg_.AddIn"

:: start Visual Studio and open AddIn solution
"C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\devenv.exe" D:\dev\Sample.sln /resetaddin Sample.Connect

:: this will execute after Visual Studio is closed
del "C:\Documents and Settings\Computer.User\My Documents\Visual Studio 2008\Addins\Sample_dbg_.AddIn"

:: This is needed because my installed AddIn, and the one I'm developing are in different directories, yet have the same name. That confuses studio and this line sets things straight
"C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\devenv.exe" /resetaddin Sample.Connect /Command File.Exit

:: restore installed AddIn file
move "C:\Documents and Settings\All Users\Application Data\Microsoft\MSEnvShared\Addins\Sample.AddIn_" "C:\Documents and Settings\All Users\Application Data\Microsoft\MSEnvShared\Addins\Sample.AddIn"

exit

我也在 AddIn 项目中的 Prebuilt 事件中执行此操作:

copy "$(ProjectDir)\Sample_dbg_.AddIn" "C:\Documents and Settings\Computer.User\My Documents\Visual Studio 2008\Addins\Sample_dbg_.AddIn"

您也可以查看 Visual Studio 命令行参数 /rootsuffix ,但我无法找到解决方案。

于 2009-03-06T12:03:03.183 回答
0

您可以设置插件的行为及其加载方式,我将其设置为“按需加载”,我目前正在尝试为您查找一些信息。

我找不到任何官方信息,但如果您进入安装项目,右键单击并选择“查看注册表”,它会显示所有已创建的注册表项。向下导航到插件的级别并将“LoadBehavior”从“3”更改为“2”。

从那时起,您应该能够使用插件管理器加载您的插件。

当我能得到它时,我会尝试更新更多信息,希望它有帮助。

于 2009-03-06T10:52:21.107 回答
0

这对我
有用:将目标重命名为 target.locked 的预构建事件

于 2009-09-19T00:57:28.047 回答