【发布时间】:2021-05-02 14:38:18
【问题描述】:
我有一个 ASP.NET Core 3.1 网络应用程序。
此应用程序需要从第三方 .NET Framework dll 加载和执行一些代码。
不幸的是,第 3 方代码似乎对 System.ServiceModel 有依赖关系(或其他什么?),当我从该 DLL 调用代码时,它会引发以下错误:
无法加载文件或程序集 'System.ServiceModel, Version=4.0.0.0, 文化=中性,PublicKeyToken=b77a5c561934e089'。参考 不应加载程序集以执行。他们只能是 在仅反射加载器上下文中加载。 (0x80131058)
为了在更简单的环境中试用,我创建了 2 个相同的控制台应用程序,它们调用了这个 3rd 方组件
- .NET Framework - 工作正常,没有抛出错误
- .NET Core - 抛出同样的错误
这让我相信当我尝试从 .NET Core 调用此第 3 方 .NET Framework 代码时出现问题。
我查看了几个问题,但它们有点不同:
Could not load file or assembly 'System.ServiceModel, Version=4.0.0.0
Could not load file or assembly 'System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' or one of its dependencies
Reference assemblies should not be loaded for execution
知道我该怎么做才能让它运行吗?
【问题讨论】: