Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为什么Outlook插件从.vsto加载,而其他插件使用.dll?_C#_.net_Visual Studio_Vsto - Fatal编程技术网

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

C# 为什么Outlook插件从.vsto加载,而其他插件使用.dll?,c#,.net,visual-studio,vsto,C#,.net,Visual Studio,Vsto,使用c#和.net(4.0)在VisualStudio中开发Outlook插件,并按照说明创建其安装程序。它就像一个符咒。从Outlook加载项列表中,所有其他加载项都是从DLL文件加载的,但我的加载项是从.vsto文件加载的。我可以知道如何正确部署它,以便它也显示DLL文件而不是VSTO。如果您使用VSTO进行部署,您将得到一个注册加载项的.VSTO文件 您可以编写自己的外接程序,使用C或带有COM互操作的C#,然后您将得到一个可以注册的DLL,但我个人坚持使用VSTO。它为你做了很多工作 有

使用c#和.net(4.0)在VisualStudio中开发Outlook插件,并按照说明创建其安装程序。它就像一个符咒。从Outlook加载项列表中,所有其他加载项都是从DLL文件加载的,但我的加载项是从.vsto文件加载的。我可以知道如何正确部署它,以便它也显示DLL文件而不是VSTO。

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

您可以编写自己的外接程序,使用C或带有COM互操作的C#,然后您将得到一个可以注册的DLL,但我个人坚持使用VSTO。它为你做了很多工作


有关编写您自己的实现的更多信息,请参阅。

如果您想让库在Office应用程序中可见,您需要开发一个垫片。或者只开发一个非托管外接程序(在这种情况下不需要垫片)。VSTO使用自己的机制处理.VSTO文件(加载程序)。此类加载程序的主要目的是创建一个隔离的应用程序域,并防止其他应用程序出现任何故障

例如,外接程序Express开发了自己的垫片(adxloader),它创建了一个单独的应用程序域并在其中加载外接程序。你可以在这篇文章中了解更多