C# Connect.Exec()未执行(Visual Studio 2010加载项)
我正在尝试从Visual Studio加载项代码Connect类打开表单:C# Connect.Exec()未执行(Visual Studio 2010加载项),c#,visual-studio-2010,C#,Visual Studio 2010,我正在尝试从Visual Studio加载项代码Connect类打开表单: public void Exec( string pCommandName, vsCommandExecOption pExecuteOption, ref object pVarIn, ref object pVarOut, ref bool pHandled) { pHandled = false;
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”的加载项项目,并在尝试以调试模式执行时出错:
“加载项未能加载或导致异常…”。
错误代码为80070002,这意味着某些文件丢失。
因此我选中了“C:\Users\\Documents\Visual Studio 2010\Addins\VisualStudioSolutionGenerator-For Testing.AddIn”(Windows 7计算机),该文件中的程序集标记指向“/bin/VisualStudioSolutionGenerator.dll”。此文件存在,但加载项项目使用的其他解决方案项目(包括带有“Form1”的项目)的DLL在生成时未复制到此文件夹,它们仅存在于“/bin/Debug/”文件夹中
将“For Testing”加载项文件中的程序集标记更改为“/bin/Debug/”已删除该异常,并且Connect.Exec()现在可以正常执行。非常感谢您的回答