Connect.Exec()未执行(Visual Studio 2010 Addin)

我正在尝试从Visual Studio加载项代码中打开一个表单,Connect类:

public void Exec( string pCommandName, vsCommandExecOption pExecuteOption, ref object pVarIn, ref object pVarOut, ref bool pHandled) { pHandled = false; if (pExecuteOption == vsCommandExecOption.vsCommandExecOptionDoDefault) { if (pCommandName == "VisualStudioSolutionGenerator.Connect.VisualStudioSolutionGenerator") { Form1 form = new Form1(); form.Show(); pHandled = true; return; } } } 

如果Form1在同一个程序集中定义,这可以正常工作,但如果它在另一个程序集中,则甚至不会调用Exec()。 我在这里看到了一个类似的问题,但没有回答。

任何人都知道为什么会这样? 谢谢

这就解决了这个问题:

我在另一台机器上以相同的方式创建了名为“VisualStudioSolutionGenerator”的插件项目,当我尝试在调试模式下执行它时出现此错误:
“加载项无法加载或导致exception……”。
错误代码为80070002,这意味着缺少某些文件。
所以我选中了“C:\ Users \ \ Documents \ Visual Studio 2010 \ Addins \ VisualStudioSolutionGenerator – For Testing.AddIn”(Windows 7机器),该文件中的Assembly标签指向“ / bin / VisualStudioSolutionGenerator .DLL”。 此文件存在,但addin项目使用的其他解决方案项目的dll(包括具有“Form1”的项目)未在构建时复制到此文件夹,它们仅存在于“ / bin / Debug /”文件夹中。

将’For Testing’addin文件中的Assembly标签更改为“ / bin / Debug /”删除了exception,Connect.Exec()现在正常执行。