Visual Studio外部引用在已发布的网站上不起作用

本文关键字:网站 不起作用 Studio 外部 引用 Visual | 更新日期: 2023-09-27 18:29:02

我创建了一个web项目,该项目在Visual Studio内部发布和调试时运行良好。当我通过引用管理器添加外部引用时,它会正确地添加它,并在Visual Studio中运行到内部IIS学习版。当我将网站发布到服务器时,外部应用程序不起作用,看起来它们甚至不可用。

我缺少什么才能在web服务器中看到这些Interop dll?

必须有一些"钩子"连接到这些dll,这些dll在本地运行时使用,但在部署时不存在。简言之,这是一个API,我正试图将其部署到安装和运行应用程序的服务器上。API在VS中本地运行时正常工作,但当我将其部署到同一服务器上的IIS网站时不工作。IIS网站具有完全权限,这不是问题,因为此网站仅在内部网络上运行,而不在web上运行。

更新:深入挖掘这个谜,我怀疑它与COM互操作或API的使用方式有关。我已将项目属性设置为"生成COM互操作",并将API引用属性设置为Isolated=false和Embed interop Type=True。我还为整个项目设置了ComVisible=true。没有生成错误。我可以在.net或IIS日志中看到任何错误。我已设置了所有适用文件夹的完全权限。那么,我错过了什么?

我想我让整个社区都被这件事难住了。我将尝试换成一个迟到的来电者,看看这是否有帮助。

对于那些感兴趣的人来说,问题似乎出在服务器上的DCOM权限上。仍然不起作用,但至少服务器现在看到了API,只是有COM异常错误,但这远远超出了我的能力。API没有源代码或供应商支持。有点让我生气,因为我支付了API,当我请求帮助时,他们说没有可用的支持。

Visual Studio外部引用在已发布的网站上不起作用

如果您正在引用本地外部程序集,请将它们作为解决方案的一部分添加(例如在ThirdPartyAssemblys文件夹中),然后在Properties下将每个DLL设置为"Copy Always"。

这应该确保您的程序集在生成时被复制到您的bin中,并且它们在您的web服务器上可见。