如何从EXE调用/调用VSTO生成的插件(DLL)

本文关键字:调用 插件 DLL VSTO EXE | 更新日期: 2023-09-27 17:49:43

我已经创建了一个VSTO Word插件。它已生成一个DLL文件。我不想将其部署为EXE。但是我想使用c#应用程序(EXE)来调用或调用这个VSTO dll。这可能吗?如果可能的话,我如何实现?

请注意,我不想将我的插件部署为EXE。我只希望我的VSTO插件保持为DLL,然后从EXE调用。

我试过下面的方法,但没有成功。

1) WordAddIn.ThisAddIn addin = new WordAddIn.ThisAddIn(null, null);

这里的word插件是VSTO dll。

2) Using Reflection
Assembly newAssembly = Assembly.LoadFile("C:...bin''Debug''WordAddin.dll");
Type[] types = newAssembly.GetExportedTypes();
Type entryType = newAssembly.GetType("ThisAddin");
object o = Activator.CreateInstance(types[0], true);

我得到'没有为这个对象定义无参数构造函数。

无法继续!请建议。

如何从EXE调用/调用VSTO生成的插件(DLL)

VSTO纯粹是为了通过插件定制MS Office;没有相同的方法来使用你的。net exe。要使用外接程序扩展您自己的。net exe,请参阅以下资源:

  • 关于。net加载项和可扩展性的MSDN文章
  • 关于。net Managed Extensibility Framework (MEF) vs. net Managed AddIn Framework (MAF,又名System.AddIn)的SO问题
  • Kent Boogaart关于MAF和MEF的博客