gpt4 book ai didi

c# - 无法在某些 PC 上运行 c#application(使用 c++ dll)

转载 作者:行者123 更新时间:2023-11-30 04:35:45 25 4
gpt4 key购买 nike

我们已经创建了一个调用 c++ dll(sdbm.dll) 的 c# 应用程序。它在除部分 PC 外的大多数 PC 上工作正常。该dll是使用VC++ 2008创建的,应用程序是在VC# 2005中完成的。以下是从C#应用程序调用dll函数时发生的错误。

一台PC出现错误如下

=====================================

无法加载 sdbm.dll:此应用程序无法启动,因为应用程序配置不正确。重新安装应用程序可能会解决此问题(HRESULT 异常:0x800736B1)

第二台电脑出现错误

=====================================

错误签名

Appname:app.exe Appver:1.0.0.0 Modname:msvcr90.dll Modver:9.0.30729.4148 Offset:0002fc96

任何帮助将不胜感激

最佳答案

正如其他人在他们的评论中已经指出的那样,您的 sdbm.dll 的依赖项似乎有问题。找出根本原因的最简单方法是获取一份 DependencyWalker并将您的 sdbm.dll 放入其中。首先在它运行没有任何问题的机器上,然后在其中一台有问题的机器上启动 DependencyWalker 以查看它的输出。

它为您提供一些有关在当前计算机上找不到哪些 DLL 的信息。这会引导您找到有问题的库。

几乎总是问题是缺少 Visual C++ 可再发行组件包(200520082010),或者您的库被编译并部署为调试版本。在这种情况下,它将链接到例如的调试版本。 mfcxx.dll 通过使用 mfcxxd.dll。但这些调试版本仅与相应的 SDK(或 Visual Studio)一起安装,而不与重新分发包一起安装。从而导致用户机器出现问题,但开发人员机器不会出现问题。

关于c# - 无法在某些 PC 上运行 c#application(使用 c++ dll),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4992614/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com