为什么Outlook插件从.vsto加载而其他人使用.dll?

时间:2019-06-18 09:52:37

标签: c# .net visual-studio vsto

使用c#和.net(4.0)在Visual Studio中为Outlook开发一个插件,并按照描述here创建其安装程序。它像一种魅力。从Outlook加载项列表中,所有其他加载项都从DLL文件加载,但从.vsto文件中获取。我可以知道如何正确部署它,以便它也显示DLL文件而不是VSTO。

2 个答案:

答案 0 :(得分:1)

如果您使用VSTO进行部署,最终将得到一个.vsto文件,该文件会进行加载项的注册。

您可以使用带有COM互操作的C或C#编写自己的加载项,然后最终得到一个可以注册的DLL,但就我个人而言,我坚持使用VSTO。它为您做了很多工作。

有关编写自己的实现的更多信息,请参见How to build an Office COM add-in by using Visual C# .NET

答案 1 :(得分:0)

如果要使库在Office应用程序中可见,则需要开发垫片。或者只是开发一个不受管理的加载项(在这种情况下不需要垫片)。 VSTO对.vsto文件(加载程序)使用其自身的机制。这种加载程序的主要目的是创建一个隔离的应用程序域,并防止其他应用程序出现故障。

例如,Add-in Express开发了自己的填充程序(adxloader),该填充程序创建了一个单独的应用程序域,并将您的加载项加载到该域中。您可以在Isolating Office Extensions with the COM Shim Wizard文章中了解有关此内容的更多信息。