我想将.NET Framework 4.0
中的项目迁移到.NET Core 2.2
。
但是我的程序执行有错误。
我的项目希望使用.dll
类加载Assembly
,它可以与.NET Framework 4.0
一起正常工作,但不能与.NET Core 2.2
一起工作。
它将FileLoadException
和消息Could not load file or assembly 'LibName, Version=3.0.4.5, Culture=neutral, PublicKeyToken=null'
引发。
项目中是否缺少包?
try
{
var pathDll = Path.Combine(path, "LibName.dll");
Assembly.LoadFrom(pathDll);
}
catch (FileLoadException ex)
{
throw ex;
}
我在解决方案中安装的NuGet软件包:
答案 0 :(得分:2)
我也在.NET Core 2.1中以这种方式调用程序集,并且可以正常工作。您检查路径是否正确吗?如果路径是相对的,则从Visual Studio启动时,请尝试在.NET Core中使用绝对值一。可执行文件的路径有些不同。
如果要保持堆栈跟踪,可以考虑在catch块中使用“ throw”而不是“ throw ex”。