Visual Studio扩展无法在实验性实例中加载

10

我正在VS2013中开发Visual Studio扩展,但无法在实验实例中加载它。

我可以手动安装它到当前实例中(从vsix文件),它可以很好地工作,但我无法对其进行调试。

没有错误消息,也没有在ActivityLog中找到任何东西。我的扩展程序只是没有被加载。 (不仅仅是我的扩展程序,从项目模板中创建的新扩展程序也会出现同样的问题)

我尝试删除/重置实验实例,但没有成功。

我还尝试通过在已经安装了扩展程序的当前实例中创建实验实例来调试我的扩展程序。然后扩展程序在实验实例中显示为“已禁用”。

我尝试搜索如何在实验实例中执行扩展程序注册,但找不到任何信息。只找到了有关设置“将VSIX内容部署到实验实例以进行调试”的参考,但没有关于该设置做什么的任何信息。

目前我的测试工作方式如下:

  1. 放入MessageBox或WriteLine并编译代码
  2. 删除“扩展和更新”中的先前实例
  3. 关闭Visual Studio
  4. 从vsix文件安装扩展程序
  5. 启动Visual Studio
  6. 测试扩展程序

这当然需要很长时间。

2个回答

3
这可能是一个重复的问题。只需检查VSIX项目的Debug选项即可。这个答案可能有所帮助:Cannot run VSPackage when developing on multiple machines 如果您的扩展程序自动注册成功,您应该在以下键中的注册表中找到与您的包ID相对应的条目:
HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\12.0Exp\ExtensionManager\
    EnabledExtensions
    ExtensionTypes

感谢您的回复。我的扩展在构建时添加到了两个注册表文件夹中,并且引用的文件夹包含输出。实验性实例可以在 F5 上正确启动,扩展也出现在“扩展和更新”中,但其菜单未被添加,构造函数或初始化方法也从未被调用。 - adrianm
包类应用了哪些属性?构造函数中是否有任何逻辑或任何可能失败的字段初始化器?您能在问题中添加一些代码吗? - Matze
目前包类中没有任何代码,只有空方法。 - adrianm
3
你尝试过使用ProvideAutoLoad属性吗?http://msdn.microsoft.com/en-us/library/bb166762.aspx - Matze

1

您需要从扩展管理器中启用安装的扩展。它会要求重新启动IDE,然后就可以设置好了。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接