gpt4 book ai didi

c# - 如何在 XP 下工作的 C# 代码中使用 c++ dll?

转载 作者:行者123 更新时间:2023-11-28 08:13:55 25 4
gpt4 key购买 nike

我又遇到了一个我无法解决的问题。

我正在尝试在 C# 中使用 C++ DLL。我在 Win7 环境下成功构建了所有内容。但是当我将这些二进制文件移动到 XP 环境时,我得到一个错误:

Unhandled Exception: System.IO.FileNotFoundException: Could not load file or assembly 'TestDLL.dll' or one of its dependencies. The specified module could not be found.at Test.Program.Main()

我已经安装了所有 C++ Redistributable 软件包(2005、2008、2010),但这些都没有解决问题。

我尝试使用 .NET v3.5 而不是 v4.0,但它对我也没有帮助。我正在使用 VS2010。

构建简单的代码我曾经在Win7构建的XP上重现问题:

C++ 动态链接库:

#include "stdafx.h"
#include "TestDLL.h"

namespace Test
{
namespace DLL
{
DLL::DLL(void)
{
}
}
}
#pragma once
using namespace System;

namespace Test
{
namespace DLL
{
public ref class DLL
{
public:
DLL(void);
};
}
}

C# 控制台应用:

using System;
using Test.DLL;

namespace Test
{
class Program
{
static void Main()
{
try
{
DLL a = new DLL();
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}
Console.ReadLine();
}
}
}

所有这些都是用 x86 构建的,而不是任何 CPU 或 x64。

我缺少什么依赖项?这个问题在我测试过的每个 XP 上都发生过。这在我测试过的每个 Win7 上都运行良好。

最佳答案

我也在 XP 上测试过这个。遇到同样的错误,使用 ProcMon 发现缺少 MSVCR100.dll。已安装微软 Visual C++ 2010 Redistributable Package (x86)现在一切正常。没有更多的错误。并且还将应用程序构建为 Release..

您是否使用 ProcMon 查看您的系统缺少什么?

关于c# - 如何在 XP 下工作的 C# 代码中使用 c++ dll?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8259502/

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