本机加载效果良好。从.net加载时出现错误,无法加载DLL';my.dll';:对内存位置的访问无效

本机加载效果良好。从.net加载时出现错误,无法加载DLL';my.dll';:对内存位置的访问无效,.net,dllimport,dllnotfoundexception,.net,Dllimport,Dllnotfoundexception,我正在尝试使用本机dll,使用DllImport。 我收到了这样的错误 System.DllNotFoundException:无法加载DLL“my.DLL”:对内存位置的访问无效。(来自HRESULT的异常:0x800703E6) 当从本机代码调用时,该dll通常加载(从delphi应用程序使用)。 但当我从.net代码调用它时,它给出了上面的异常 我已经阅读了这个链接,但没有解决方案 副部长,管理权并非如此 注意:这种情况发生在Windows 2008服务器上。在Win2003服务器和XP上

我正在尝试使用本机dll,使用DllImport。 我收到了这样的错误

System.DllNotFoundException:无法加载DLL“my.DLL”:对内存位置的访问无效。(来自HRESULT的异常:0x800703E6)

当从本机代码调用时,该dll通常加载(从delphi应用程序使用)。 但当我从.net代码调用它时,它给出了上面的异常

我已经阅读了这个链接,但没有解决方案

副部长,管理权并非如此


注意:这种情况发生在Windows 2008服务器上。在Win2003服务器和XP上,一切都很好。

我似乎发现了问题所在。 问题出在DEP功能中。 当我只为基本程序打开DEP时,它没有任何效果。 但当我完全关闭DEP并重新启动服务器时,错误就消失了。
我还做了一件事——安装了.net 4.0的最新更新,似乎我发现了问题所在。 问题出在DEP功能中。 当我只为基本程序打开DEP时,它没有任何效果。 但当我完全关闭DEP并重新启动服务器时,错误就消失了。
我还做了一件事-安装了.net 4.0的最新更新

当您从Win2008 server上的Delphi应用程序加载它时会发生什么?2008服务器是64位的吗?您的目标是任何CPU或x86吗?当我从delphi加载它时,一切正常。没有错误。还有关于64位、AnyCPU等的问题?2)服务器2008-32位。3) x86假设DLL是Delphi DLL,请尝试从某些单元初始化部分发出一些调试信息,以查看DLL的初始化过程。从Win2008 server上的Delphi应用程序加载DLL时会发生什么情况?2008服务器是64位的吗?您的目标是任何CPU或x86吗?当我从delphi加载它时,一切正常。没有错误。还有关于64位、AnyCPU等的问题?2)服务器2008-32位。3) x86假设DLL是Delphi DLL,请尝试从一些单元初始化部分发出一些调试信息,以查看DLL的初始化完成程度。还有一件事。.net应用程序未指定这是DEP错误。我只在从自己的书面测试本机应用程序调用此dll时观察到了这一点。但为什么delphi原生应用程序没有出现这个错误呢?这仍然是个谜。还有一件事。.net应用程序未指定这是DEP错误。我只在从自己的书面测试本机应用程序调用此dll时观察到了这一点。但是为什么delphi原生应用程序没有出现这个错误呢?这仍然是个谜。