网站在IIS中运行时无法找到DLL

时间:2011-02-09 17:42:02

标签: c# asp.net c++ iis

当我使用我的VS在本地运行网站时,一切正常。

我使用P / Invoke调用dll中的函数。 DLL是用C ++编写的,它可以工作。

当我在IIS上部署网站时,我收到错误消息

Unable to load DLL 'SolvingProbelm.dll': The specified module could not be found. (Exception from HRESULT: 0x8007007E)

dll位于bin文件夹中。应用程序池是Classic和.net 2.0

任何建议都将受到赞赏。

此致

2 个答案:

答案 0 :(得分:1)

我曾经遇到过类似的问题。只需将SolvingProbelm.dll复制到C:\WINDOWS\System32即可。希望它能奏效!它在我的情况下起作用了。实际上,本机DLL和.Net DLL的搜索方式不同。 IIS还会搜索C:\Windows\System32文件夹中的本机DLL。所以在那里复制你的DLL可以解决问题!

答案 1 :(得分:0)

我知道已经 10 年了。但是如果有人再次遇到问题,只需确保构建下的项目属性中的平台配置没有改变强>。就我而言,Visual Studio 只是将平台更改为所有平台,即使我在使用任何 CPU 之前构建了所有 dll。