gpt4 book ai didi

c# - DllImport 不工作

转载 作者:行者123 更新时间:2023-12-04 03:20:44 26 4
gpt4 key购买 nike

我正在尝试编写一个使用 C++ 中定义的函数的 WPF 应用程序。 C++ 应用程序被编译为 DLL。

我正在做的是使用 DllImport 属性导入函数并使用它。这在我的机器上运行良好,但是当我尝试在另一台机器上运行我的 WPF 应用程序时,它给出了“找不到 DLL”错误。

我的 C# (WPF) 代码摘录:

[DllImport("Dll.dll")]
public static extern int MyFunc();

public MainWindow()
{
InitializeComponent();
MessageBox.Show("Starting");
try
{
MessageBox.Show(MyFunc().ToString());
}
catch (Exception exc)
{
while (exc != null)
{
MessageBox.Show(exc.Message);
exc = exc.InnerException;
}
}

我的 C++ 代码:

extern "C" __declspec(dllexport) int MyFunc() {
return 3;
}

谁能看出我的错误可能在哪里?

预先感谢您的帮助!

编辑:问题似乎是依赖项“MSVCR100D”不存在。我的理解是,这是我安装的 VC++ Redistributable 包中的一个文件,但没有用。

最佳答案

您的 DLL 可能依赖于其他计算机上未安装的其他 DLL。您可以使用 Dependency Walker 检查依赖项.

典型的缺失依赖项是 Visual Studio C/C++ 运行时库。如果它们丢失了,只需谷歌搜索即可。 Microsoft 为他们提供了可再分发的软件包。

关于c# - DllImport 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11791944/

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