我们有一个第三方应用程序,它以DLL的形式提供SDK,可用于开发连接到其服务的自定义应用程序。DLL与它所依赖的一组其他DLL一起存在于第三方应用程序的目录中。SDK指南提供了通过Visual创建测试应用程序的说明,并指出要添加对Copy Local设置为False的SDK的引用。我创建了一个测试Windows .NET应用程序,并按照说明添加了对DLL的引用,所有操作都很好。但是,引用ASP.NET应用程序中的DLL会导致依赖的第三方DLL之一的FileNotFoundException异常。
作为一项实验,我尝试将对违规DLL的引用添加到将Copy Local设置为False的项目中,但得到了相同的错误。如果Copy Local设置为True,则会得到更多信息,但在另一个DLL上失败。添加对该DLL的引用将失败,而不管Copy Local设置如何。
我认为这些问题与“标准”.NET应用程序加载程序集与ASP.NET应用程序之间的差异有关,但我不太确定该如何解决这个问题。
是否有适当的方法在ASP.NET应用程序中引用第三方DLL (及其受抚养人),而不将它们放在GAC或应用程序的bin目录中?
发布于 2017-10-08 00:36:34
IIS应用程序在permissions 0中运行,资源有限,而在用户会话中运行的ASP.NET应用程序拥有更多的权限和资源。
它们本质上是完全不同的环境,因此除非声称ASP.NET/IIS支持的库的供应商认为它们不兼容,而且应该避免。
您应该注意到,即使是微软自己的技术(办公自动化、System.Drawing等)也只支持WinForms,而不支持ASP.NET。
https://stackoverflow.com/questions/46623863
复制相似问题