Visual Studio 扩展 (VSPackage) 在所有实验实例中运行,但在作为 .vsix 安装后不会运行,VS2010 中除外

2024-03-04

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

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

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

我已经为此花费了几天的时间,尝试诸如签署我的程序集、各种 vsixmanifest 更改、更改所需的框架版本以及在 SO 上找到的许多其他内容,但尚未取得成果。

此外,我尝试从 VS Gallery 安装已发布的旧版本,但它也无法运行。但是,我收到了几个人的反馈(错误和感谢),所以我知道它对某些人有用。我没有收到任何“没有发生任何事情”的反馈,但不排除这些情况未被报告的事实。

我不打算插入,但当前发布的版本在这里:http://visualstudiogallery.msdn.microsoft.com/5cc44f63-4ea8-4c17-8aa4-95037a2d32ef http://visualstudiogallery.msdn.microsoft.com/5cc44f63-4ea8-4c17-8aa4-95037a2d32ef

我目前所在位置的完整源代码可以在 github 分支“ForStackOverflow”中找到。它和 master 之间的区别是 TraceAppender,我用它来确认 VSPackage 没有被实例化。https://github.com/alexcpendleton/Pendletron.Vsix.LocateInTFS/tree/ForStackOverflow https://github.com/alexcpendleton/Pendletron.Vsix.LocateInTFS/tree/ForStackOverflow

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


感谢 Erti-Chris Eelmaa 的建议启用FusionLog我能够弄清楚发生了什么事。

Visual Studio 并未在已安装扩展的目录中查找我的扩展,而是从 GAC 和其他地方查找。奇怪的是,它找到了一个包含的组件,效果很好。

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

<Content>
  <VsPackage>Pendletron.Vsix.LocateInTFS.pkgdef</VsPackage>
</Content>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Visual Studio 扩展 (VSPackage) 在所有实验实例中运行,但在作为 .vsix 安装后不会运行,VS2010 中除外 的相关文章

  • 使用Physics.Raycast 和Physics2D.Raycast 检测对象上的点击

    我的场景中有一个空的游戏对象 带有 2D 组件盒碰撞器 我将脚本附加到该游戏对象 void OnMouseDown Debug Log clic 但是当我点击我的游戏对象时 没有任何效果 你有什么想法 如何检测我的盒子碰撞器上的点击 使用光
  • C++ 中本地类中的静态成员变量?

    我知道我们不能宣布static本地类中的成员变量 但其原因尚不清楚 那么请问有人可以解释一下吗 另外 为什么我们不能访问非static函数内部定义的变量 内部已经定义了局部类 直接在局部类成员函数中 在下面给出的代码中 int main i
  • 推导指南中的引用和值之间的差异

    考虑类型A template
  • 在新的浏览器进程中打开 URL

    我需要在新的浏览器进程中打开 URL 当浏览器进程退出时我需要收到通知 我当前使用的代码如下 Process browser new Process browser EnableRaisingEvents true browser Star
  • XamlReader.Load 在后台线程中。是否可以?

    WPF 应用程序具有从单独的文件加载用户控件的操作 使用XamlReader Load method StreamReader mysr new StreamReader pathToFile DependencyObject rootOb
  • 存储来自其他程序的事件

    我想将其他应用程序的事件存储在我自己的应用程序中 事件示例 打开 最小化 Word 或打开文件时 这样的事可能吗 运行程序 http msdn microsoft com en us library ms813609 aspx and 打开
  • 单击 form2 上的按钮触发 form 1 中的方法

    我对 Windows 窗体很陌生 我想知道是否可以通过单击表单 2 中的按钮来触发表单 1 中的方法 我的表格 1 有一个组合框 我的 Form 2 有一个 保存 按钮 我想要实现的是 当用户单击表单 2 中的 保存 时 我需要检查表单 1
  • Rx 中是否有与 Task.ContinueWith 运算符等效的操作?

    Rx 中是否有与 Task ContinueWith 运算符等效的操作 我正在将 Rx 与 Silverlight 一起使用 我正在使用 FromAsyncPattern 方法进行两个 Web 服务调用 并且我想这样做同步地 var o1
  • 未经许可更改内存值

    我有一个二维数组 当我第一次打印数组的数据时 日期打印正确 但其他时候 array last i 的数据从 i 0 到 last 1 显然是一个逻辑错误 但我不明白原因 因为我复制并粘贴了 for 语句 那么 C 更改数据吗 I use g
  • C++:.bmp 到文件中的字节数组

    是的 我已经解决了与此相关的其他问题 但我发现它们没有太大帮助 他们提供了一些帮助 但我仍然有点困惑 所以这是我需要做的 我们有一个 132x65 的屏幕 我有一个 132x65 的 bmp 我想遍历 bmp 并将其分成小的 1x8 列以获
  • glut、glew dll:二进制文件不是使用调试信息构建的

    这是我得到的输出 abc exe Loaded C Windows system glut32 dll Binary was not built with debug information abc exe Loaded C Windows
  • 使用 Moq 使用内部构造函数模拟类型

    我正在尝试模拟 Microsoft Sync Framework 中的一个类 它只有一个内部构造函数 当我尝试以下操作时 var fullEnumerationContextMock new Mock
  • 如何使用 Mongodb C# 驱动程序连接多个集合

    我需要将 3 个集合与多个集合合并在一起 lookup我在 C 驱动程序中尝试过 它允许我 lookup用户采集但无法执行秒 lookup用于设置集合 有人可以帮忙吗 db Transactions aggregate lookup fro
  • 将 log4net 与 Autofac 结合使用

    我正在尝试将 log4net 与 Autofac 一起使用 我粘贴了这段代码http autofac readthedocs org en latest examples log4net html http autofac readthed
  • 等待线程完成

    private void button1 Click object sender EventArgs e for int i 0 i lt 15 i Thread nova new Thread Method nova Start list
  • 如何从main方法调用业务对象类?

    我已将代码分为业务对象 访问层 如下所示 void Main Business object public class ExpenseBO public void MakeExpense ExpensePayload payload var
  • 如何对 Web Api 操作进行后调用?

    我创建了一个 Web API 操作 如下所示 HttpPost public void Load string siteName string providerName UserDetails userDetails implementat
  • Process.Start() 方法在什么情况下返回 false?

    From MSDN https msdn microsoft com en us library e8zac0ca v vs 110 aspx 返回值 true 表示有新的进程资源 开始了 如果由 FileName 成员指定的进程资源 St
  • 如何在按钮单击时模拟按键 - Unity

    我对 Unity 中的脚本编写非常陌生 我正在尝试创建一个按钮 一旦单击它就需要模拟按下 F 键 要拾取一个项目 这是我当前的代码 在编写此代码之前我浏览了所有统一论坛 但找不到任何有效的东西 Code using System Colle
  • 检查Windows控制台中是否按下了键[重复]

    这个问题在这里已经有答案了 可能的重复 C 控制台键盘事件 https stackoverflow com questions 2067893 c console keyboard events 我希望 Windows 控制台程序在按下某个

随机推荐