win32 dll 和 .net dll 在 Web 应用程序上下文中的区别?

发布于 2024-10-13 23:56:09 字数 702 浏览 3 评论 0原文

我的 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 应用程序对它们的访问方式是否不同?

--

相关主题是这样的:

当 Web 应用程序 p/ 时出现 DllNotFoundException调用 win32 DLL

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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

别再吹冷风 2024-10-20 23:56:09

定位程序集 (.NET) 的规则与定位本机 DLL 的规则不同。以下是两个规则集:

The rules to locate assemblies (.NET) are not the same as for locating native DLLs. Here are the two rule sets:

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文