win32 dll 和 .net dll 在 Web 应用程序上下文中的区别?
我的 Web 应用程序是用 WPF(XBAP) 编写的,p/调用 win32 dll(用 C 和 C++ 编写的player.dll
)。我部署了该应用程序。当我尝试在 IE 中运行 Web 应用程序时,最初出现以下错误:
System.DllNotFoundException:无法 加载 DLL 'Player.dll': 指定 找不到模块。 (例外 来自 HRESULT:0x8007007E)
但是,当我手动将我的 win32 dll 复制到客户端 PC 的 C:\Windows\System32
时,它起作用了,即使我的 Web 应用程序使用了其他几个.Net dll,我没有手动复制它们。
所以我很困惑为什么我需要仅 win32 dll 复制到客户端 PC,而不是 .Net dll? Web 应用程序对它们的访问方式是否不同?
--
相关主题是这样的:
My web application, written in WPF( XBAP), p/invokes a win32 dll (player.dll
written in C and C++). I deployed the application. When I tried running the web-application in IE, initially I got this error:
System.DllNotFoundException: Unable to
load DLL 'Player.dll': The specified
module could not be found. (Exception
from HRESULT: 0x8007007E)
But when I manually copied my win32 dll to C:\Windows\System32
of the client PC, it worked, even though my web application uses several other .Net dlls and I didn't copy them manually.
So I'm confused as to why exactly do I need to copy only win32 dll to the client PC, while not .Net dlls? Do web-applications access them differently?
--
The related topic is this :
DllNotFoundException when web application p/invokes a win32 DLL
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
定位程序集 (.NET) 的规则与定位本机 DLL 的规则不同。以下是两个规则集:
The rules to locate assemblies (.NET) are not the same as for locating native DLLs. Here are the two rule sets: