从命令行构建时,不会加载迁移的Visual Studio扩展包

时间:2015-08-24 13:20:02

标签: visual-studio-2013 visual-studio-2015 visual-studio-extensions visual-studio-addins vsix

几年前,我们制作了一个Visual Studio加载项,它使用构建事件作为操作的触发器。加载项在IDECommand Line模式下运行。要加载命令行构建的外接程序,必须设置<CommandLineSafe>1</CommandLineSafe>选项。

迁移的扩展在IDE模式下工作,但在命令行构建期间未加载扩展。 如何为命令行构建加载扩展配置?

1 个答案:

答案 0 :(得分:0)

有关加载Visual Studio扩展程序包的信息,请访问:https://msdn.microsoft.com/en-us/library/bb166762.aspx,此处:https://msdn.microsoft.com/en-us/library/microsoft.visualstudio.shell.provideautoloadattribute.aspx

您可以使用ProvideAutoLoadAttribute将您的包类标记为UI上下文,例如:

[ProvideAutoLoad(UIContextGuids.EmptySolution)]
public class MyCustomPackage : VSPackage
{
    ...
}

可以指定多个属性。可用的UI上下文由UIContextGuids类型定义。

在我的一个扩展程序中,我使用以下UI上下文的组合来确保我的程序包始终加载,无论是否加载了解决方案:EmptySolutionNoSolution,{{1 }}