11 c# windows-vista
当我尝试在64位应用程序中使用它时,我有32位编译的DLL它无法加载,所以我想将dll转换为64位.当应用程序的平台从"任何CPU"或"x64"变为"x86"时,它工作正常.但我想在64位下使用它,因为我要从ASP页面调用dll.
这个你能帮我吗.
Jon*_*son 11
Windows无法将32位dll加载到64位进程中 - 这是您无法规避的限制.这意味着,如果您的32位DLL对其他32位DLLS(或使用任何32位.Net DLLS)进行任何P/Invokes,您将完全没有运气(您将需要以32位运行整个网站).
你不清楚它什么时候起作用,什么时候不起作用.以下是解释:
就AnyCPU而言:
在大多数情况下,可以将其保留为AnyCPU.但是,正如我所说,如果您使用任何本机或.Net 32位DLL,您将需要使您的整个应用程序32位(并且没有任何东西,或微软可以做到这一点).
如果您想在 32 位和 64 位进程中加载纯 C# DLL,那么正确的选择是 AnyCPU。这会将其编译为与 CPU 无关的 DLL,并且可以将其加载到任一类型的进程中。
我不是 100% 确定这就是你所问的。如果不是,你能澄清你的问题吗?
| 归档时间: |
|
| 查看次数: |
39847 次 |
| 最近记录: |