首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在.NET Core3.0中加载exe时出现错误的IL格式

在.NET Core3.0中加载exe时出现错误的IL格式
EN

Stack Overflow用户
提问于 2019-10-09 00:16:31
回答 1查看 3.3K关注 0票数 3

我有两个.NET Core3.0WPF项目。其中之一,我将其发布到一个名为"DefaultPlugin.exe“的可执行文件中。

在我的第二个WPF项目中,我尝试使用Assembly.Load加载第一个项目并读取类型。然而,当我这样做的时候,我从System.Private.CoreLib得到了一个异常,"Bad IL Format“。当我从bin文件夹加载DefaultPlugin.dll时,它可以工作,我还检查了我的CPU配置,以确保它们匹配。

代码语言:javascript
运行
复制
///Works:
string path = @"C:\Users\S-D81\source\repos\DefaultPlugin\DefaultPlugin\bin\Debug\netcoreapp3.0\win-x64\DefaultPlugin.dll";
///Does not work:
//string path = @"C:\Users\S-D81\source\repos\DefaultPlugin\DefaultPlugin\bin\Debug\netcoreapp3.0\win-x64\DefaultPlugin.exe";
//string path = @"C:\Users\S-D81\source\repos\DefaultPlugin\DefaultPlugin\bin\Release\netcoreapp3.0\win-x64\publish\DefaultPlugin.exe";

Assembly assembly = Assembly.LoadFrom(path);

有没有办法在发布的.NET Core3.0程序集上使用Assembly.Load,或者这只是新框架的一个限制?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-10-09 01:36:40

在.NET Core3.0应用程序中生成的.exe文件不是一个IL程序集,而是一个本机主机可执行文件,它在加载具有.dll扩展名的实际IL应用程序集之前查找并引导运行时。

您应该能够通过加载具有相同项目名称的.exe文件旁边的.dll文件来加载您的插件。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58290286

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档