这个问题与ASP有关.NET网站,最初开发于VS 2005,现在开发于VS 2008.
这个网站使用了两个非.NET的非托管外部DLL,我没有编译它们的源代码,只能按原样使用它们.
此网站在Visual Studio内运行良好,可以正确定位和访问这些外部DLL.但是,当网站在Web服务器(运行IIS6和ASP.NET 2.0)而不是在开发PC上发布时,它无法定位和访问这些外部DLL,并且我收到以下错误:
Unable to load DLL 'XYZ.dll': The specified module could not be found. (Exception from HRESULT: 0x8007007E)
个
外部DLL位于网站的bin目录中,以及包装它们的托管DLL和网站的所有其他DLL.
搜索此问题会发现,许多其他人似乎在从ASP.NET网站访问外部非.NET DLL时遇到了同样的问题,但我还没有找到有效的解决方案.
我试过以下几种方法:
- 运行依赖于判断依赖项,以确定前三个
- 我将两个DLL及其依赖项放在 System32并重新启动了服务器,但网站仍然 无法加载这些外部DLL.
- 将ASPNET、IIS_WPG和IUSR(用于该服务器)的全部权限授予
- 将外部DLL作为现有项添加到项目中并设置 其"复制到输出"属性为"始终复制",以及网站 仍然找不到DLL.
- 还将其"Build Action"属性设置为"Embedded resource",并
任何关于这个问题的帮助都将不胜感激!