C# VisualStudioExtension(VSPackage)在所有实验实例中运行,但在安装为.vsix后不会运行,VS2010中除外

C# VisualStudioExtension(VSPackage)在所有实验实例中运行,但在安装为.vsix后不会运行,VS2010中除外,c#,visual-studio,visual-studio-extensions,vsix,C#,Visual Studio,Visual Studio Extensions,Vsix,我正在编写一个针对VS2010、VS2012和VS2013的Visual Studio扩展。它在每个实验实例中运行并成功初始化,没有任何问题。当我安装由构建生成的VSIX时,它会毫无问题地安装在所有版本中,但只有在VS2010中它才会真正执行。在其他情况下,它从未实例化或初始化 没有抛出异常。使用/log标志运行非实验性实例不会产生任何其他诊断信息(除了确认已安装,并且具有比库中已存在的对应实例更新的版本之外) 我的阅读和经验表明,这是由于某种缺少组件或参考,但我不能证实这一点。我也不知道如何找

我正在编写一个针对VS2010、VS2012和VS2013的Visual Studio扩展。它在每个实验实例中运行并成功初始化,没有任何问题。当我安装由构建生成的VSIX时,它会毫无问题地安装在所有版本中,但只有在VS2010中它才会真正执行。在其他情况下,它从未实例化或初始化

没有抛出异常。使用/log标志运行非实验性实例不会产生任何其他诊断信息(除了确认已安装,并且具有比库中已存在的对应实例更新的版本之外)

我的阅读和经验表明,这是由于某种缺少组件或参考,但我不能证实这一点。我也不知道如何找出遗漏的内容,尤其是在没有异常或日志消息的情况下

我在这方面已经做了好几天了,现在正在尝试一些事情,比如对我的程序集进行签名、各种vsixmanifest更改、更改所需的框架版本,以及在这里找到的许多其他事情,但都没有取得成果

此外,我还尝试从VS Gallery安装旧的、已经发布的版本,但它也没有运行。然而,我收到了来自几个人的反馈(bug和感谢),所以我知道它对一些人有用。我没有收到任何反馈说“什么都没有发生”,但不排除这些都没有报告的事实

我不打算插入,但当前发布的版本如下:

我目前所处位置的完整源代码可以在github的“ForStackOverflow”分支中找到。它和master之间的区别是一个TraceAppender,我用它来确认VSPackage没有被实例化。


任何建议、经验或任何东西都会有帮助。谢谢。

多亏了Erti Chris Eelmaa建议启用FusionLog,我才能够弄清楚到底发生了什么

VisualStudio没有在已安装扩展的目录中查找我的扩展,而是从GAC和其他地方查找。奇怪的是,它发现一个包含的程序集很好

我检查了其他扩展的.vsixmanifest,发现我的项目缺少.pkgdef内容节点。这似乎是VS2010的原因,或者由于其他原因,在扩展的安装目录中查找包程序集,而2012和2013没有。将此内容节点添加到my.vsixmanifest允许Visual Studio加载和运行扩展

<Content>
  <VsPackage>Pendletron.Vsix.LocateInTFS.pkgdef</VsPackage>
</Content>

Pendletron.Vsix.LocateInTFS.pkgdef

启用FusionLog&确保您的软件包具有[ProvideAutoLoad(…)]属性