引用的代码未在Visual Studio扩展中执行

时间:2016-08-31 15:37:10

标签: c# visual-studio-2015 visual-studio-extensions vsix

我有一个显示WinForms对话框的Visual Studio扩展(VSIX包),然后返回一个插入VS中代码编辑器窗口的字符串。

WinForm加载正常。我可以返回一个硬编码的字符串,VS将它放入编辑器中。但是,如果WinForm调用第三方库(它是.Net Core类库),它会停止执行而没有异常,我可以看到并关闭表单。为了进一步测试,我让引用的库只返回一个硬编码的字符串,因此在该代码中没有异常的风险并且它失败了(这让我相信它是调用库的动作。如果我使用调试器逐步执行此操作,它将不执行调用引用库的过程。如果我注释掉该行,它将逐步执行该过程)。如果我将表单拉出并将其放入WinForms应用程序中,它将按预期执行。

引用的库通过本地NuGet提要加载到扩展中。

  1. 第三方图书馆目前尚未签名,可能就是 问题?
  2. 第三方图书馆是一个"类库(.Net Core)" ..我没有选项可以通过GUI看到如同使用传统类库一样对库进行签名(虽然这是针对.Net 4.6)。 WinForm本身可以调用它,如果它在不同的解决方案中,它在通过VS扩展时运行。
  3. 还有什么可能导致这个问题?
  4. 旁注,这是我自己的扩展,而不是一般分发。

1 个答案:

答案 0 :(得分:0)

将为后代发布此内容。当Visual Studio调用无符号程序集时,将停止在扩展中执行代码。我通过签署第三方程序集来测试它(然后它工作)。如果您使用模板在Visual Studio中创建该项目,则VSIX也会默认签名。