C# 发布Outlook加载项后无法加载DLL

C# 发布Outlook加载项后无法加载DLL,c#,visual-studio-2012,dll,outlook-addin,ghostscript,C#,Visual Studio 2012,Dll,Outlook Addin,Ghostscript,我正在开发outlook 2010加载项,其中我在项目中使用GhostScriptSharp API(gsdll32.dll),遇到一个问题,应用程序在发布dll后加载dll时遇到问题 该插件在visual studio的调试模式下工作得非常好,但一旦发布并安装该插件,运行时会出现以下异常: System.DllNotFoundException: Unable to load DLL 'gsdll32.dll': The specified module could not be found.

我正在开发outlook 2010加载项,其中我在项目中使用GhostScriptSharp API(gsdll32.dll),遇到一个问题,应用程序在发布dll后加载dll时遇到问题

该插件在visual studio的调试模式下工作得非常好,但一旦发布并安装该插件,运行时会出现以下异常:

System.DllNotFoundException: Unable to load DLL 'gsdll32.dll': The specified module could not be found. (Exception from HRESULT: 0x8007007E)
在dll文件属性中,我将构建操作设置为“内容”,将复制到输出目录设置为“始终复制”。我还尝试将gsdll32.dll文件的副本放在C:\Windows\System32文件夹中,但问题仍然存在


在使用dll发布应用程序/插件后,是否有人遇到过这种情况?我是否有明显的错误

我通过在插件旁边单独安装GhostScript,而不是尝试在插件中嵌入gsdll32.dll,最终实现了这一点。我还必须编辑我的Windows“PATH”环境变量,以便GHeScript脚本包装器可以访问GHOSTScript。< /P>您如何在最终用户PC上安装外接程序?考虑使用NuGET包。菜单->发布,在VS 2012中。我使用的是GhostScriptSharp NuGet包,但这需要在系统上安装GhostScript。相反,我从GhostScript安装目录(gsdll32.dll)中获取了主dll文件,并将其导入到我的项目中,这样我就可以在不安装GhostScript的情况下使用代码功能。在生成和调试时,DLL位于\bin文件夹中,调试会话按预期工作,但在发布外接程序时,安装后gsdll32.DLL似乎没有与其他源代码一起引入。是的,您似乎需要将该DLL包含到安装程序包中。