我有一些用.Net框架编写的 dll,4.0当我将它引用到我用.NET core 2.0.
尽管我的 IDE(与 2017 相比)可以在运行时正确识别从该 dll 导入的对象,但我有以下异常:
System.BadImageFormatException: 'Could not load file or assembly 'A_dotnet_4.0_A, Version=10.0.0.0, Culture=neutral, PublicKeyToken=0ad20d08c672086a'. An attempt was made to load a program with an incorrect format.'
Run Code Online (Sandbox Code Playgroud)
我试过了:
甚至有可能吗?如果是这样,我该怎么做。在以下链接中似乎有可能 - 我只是不明白如何。
Hyp*_*ate 12
你不可以做这个。
.NET Core 可以引用 .NET Standard DLL
.NET Framework 可以引用 .NET Standard DLL
.NET Core 不能引用 .NET Framework DLL(反之亦然)。
例如,如果您有一个 .NET Standard 项目,则不能引用 .NET Framework和.NET Core 框架。
这是一个或另一个。
为了进一步说明这一点,我们有一个共享 BusinessLogic 的项目,该项目是一个 .NET Standard 2.0 库。
我们在其他 2 个项目中引用了该项目:.NET Core 2.1 和 .NET Framework 4.7。
将 .NET Core 或 .NET Framework 项直接引用到该共享 .NET Standard 库时会出错。
Bas*_*Bas -1
总之:
它不起作用,因为该 DLL 的 .NET Framework 版本太低。.NET Core 2.0 及更高版本支持引用其他 .NET Standard dll(因此 .NET Core 或 .NET Framework,或任何其他未来可能实现 .NET Standard 的库)。
.NET Framework 4.0 不实现 .NET Standard,因此它不会生成 .NET Standard 兼容的 dll:.NET Framework 仅从版本 4.5 及更高版本开始实现 .NET Standard。因此,如果您可以找到为 .NET Framework 4.5 编译的该 DLL 版本,理论上它应该可以工作,除非有一些边缘情况。
| 归档时间: |
|
| 查看次数: |
11610 次 |
| 最近记录: |