2014-11-21 143 views
0

我已经用Dev-C++编译了c本机32位DLL,在我的asp.net项目上创建了引用,编写了dllImport指令并使用了我的新DLL。当启动我的DEBUG会话时,所有工作都很好,但是当在Web服务器上部署我的项目时,运行时不加载我的DLL。32位DLL无法在64位服务器上工作C#

+0

我已经在我的服务器上的IIS 7.0下为我的应用程序池启用了32位应用程序设置。 有人知道这个问题的原因?我已经尝试了一切:-( 帮助我!! – 2014-11-21 18:49:04

+0

dll是否正确部署到GAC? – 2014-11-21 18:50:58

+0

您是否为该参考做了local = true的复制? – Rex 2014-11-21 19:02:08

回答

0

我的IIS 7.0 w3wp.exe作为64位进程运行(检查您的进程是否在WOW64下运行为32位进程,打开任务管理器的进程选项卡并查看进程名是否包含“* 32”)。

我相信一个64位进程只能加载64位原生DLL(以及为“任何CPU”或“X64”构建的受管DLL)。也许你的调试会话是32位会话?如果这是原因,请看Using a 32bit or 64bit dll in C# DllImport

+0

什么都没有......我已经重新编译了dll的64位本地dll,但情况是一样的,vero奇怪....有人有另一个建议!谢谢 – 2014-11-25 00:55:21

+0

我认为你需要确定实际dllimport报告的错误,否则我们只是在猜测原因。原因可能是dll是错误的bit-ness,或者在IIS期望它或其他地方找不到它。 – sevzas 2014-11-25 13:02:54

相关问题