c# - DLL未加载,Win10上的方法未解决错误
问题描述
我正在引用一个托管 C++ DLL,它在我的 c# 代码中具有本机 C++ 作为引用。我在 VS 2019、Windows 10 中运行它,当我运行程序并在构建文件夹中复制所有 DLL 后,出现错误
FILEIOException:无法加载由“xxx.dll”导入的过程,
因此我无法调试任何东西。
如果我只是构建我的解决方案,如果我在装有 Window XP 的机器上运行生成 exe,它就会运行,我还在 WinXP 机器上安装了 VS2019 社区,它也可以正常运行。.net4.5 中的项目目标
dll以这种方式表现的可能原因是什么?我应该要求 dll writer 在 VS 2019 中创建 dll,只有他在 VS2010 上工作吗?
如果exe在其他机器上构建并复制到Win10,它在Win10机器上可以正常运行。
我怀疑一些 Visual Studio 或 dll 问题,但无法弄清楚
代码如下,所有机器中都有一个文件夹,所有 dll 位于特定位置:
static void Main(string[] args)
{
Initialize();
InvokeLibrary();
}
static void Initialize()
{
AppDomain.CurrentDomain.AssemblyResolve += new ResolveEventHandler(ResolveAssembly);
}
static Assembly ResolveAssembly(object sender, ResolveEventArgs args)
{
Console.WriteLine("Resolving Assembly....");
String strDllName = "full path";
Assembly MyAssembly1 = Assembly.LoadFile(strDllName);
return MyAssembly1;
}
static void InvokeLibrary()
{
/// call functions in assembly
}
解决方案
推荐阅读
- delphi - Firedac 更改警报器
- elasticsearch - 使用 wagtail 弹性搜索功能进行无休止的滚动
- google-apps-script - Google 数据工作室连接器:“抱歉,我们遇到错误,无法完成您的请求。”
- php - 使用 Codeigniter 从 PHP 执行 perl 脚本
- julia - Julia 微基准统计建议
- swift - 导航标题栏有故障,返回时显示灰色背景
- swift - 如何使用 Swift 检测静止图像中的圆圈?
- java - Gradle 缓存不适用于 GitLab-CI
- asp.net - asp.net api 从 MongoDB 返回 json
- ios-app-extension - 如何让 iOS 12 Notification Extension 自定义 UI Buttons 触发应用