我有一些用.Net
框架4.0
编写的dll,当我将其引用到用.NET core 2.0
编写的项目时,我无法运行我的程序。
虽然我的IDE(vs 2017)可以在运行时Im正确识别从该dll导入的对象Im具有以下异常:
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.'
我尝试过了:
可能吗?如果可以,我应该怎么做。
在下面的link中似乎是可能的-我只是不明白怎么做。
最佳答案
总之:
它不起作用,因为该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的版本,则从理论上讲应该可以使用,除非有一些极端情况。
关于c# - 在.NET Core 2.0中引用.NET Framework 4 dll,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52703060/