.NET Core 2.2 程序集 FileLoadException
.NET Core 2.2 Assembly FileLoadException
我想将 .NET Framework 4.0
中的项目迁移到 .NET Core 2.2
。
但是我的程序执行出错了。
我的项目想用 Assembly
class 加载一个 .dll
,它在 .NET Framework 4.0
上工作正常,但在 .NET Core 2.2
.[=20 上不工作=]
它正在抛出带有消息 Could not load file or assembly 'LibName, Version=3.0.4.5, Culture=neutral, PublicKeyToken=null'
的 FileLoadException
。
项目中是否缺少包?
try
{
var pathDll = Path.Combine(path, "LibName.dll");
Assembly.LoadFrom(pathDll);
}
catch (FileLoadException ex)
{
throw ex;
}
我的 NuGet 包安装在解决方案中:
我也在 .NET Core 2.1 中以这种方式调用程序集并且它有效。你检查路径是否正确?如果路径是相对的,请尝试使用绝对路径 - 在 .NET Core 中,可执行文件的路径从 Visual Studio.
开始时有点不同
顺便说一句,如果您想保留堆栈跟踪,请考虑在 catch 块中使用 "throw" 而不是 "throw ex"。
我想将 .NET Framework 4.0
中的项目迁移到 .NET Core 2.2
。
但是我的程序执行出错了。
我的项目想用 Assembly
class 加载一个 .dll
,它在 .NET Framework 4.0
上工作正常,但在 .NET Core 2.2
.[=20 上不工作=]
它正在抛出带有消息 Could not load file or assembly 'LibName, Version=3.0.4.5, Culture=neutral, PublicKeyToken=null'
的 FileLoadException
。
项目中是否缺少包?
try
{
var pathDll = Path.Combine(path, "LibName.dll");
Assembly.LoadFrom(pathDll);
}
catch (FileLoadException ex)
{
throw ex;
}
我的 NuGet 包安装在解决方案中:
我也在 .NET Core 2.1 中以这种方式调用程序集并且它有效。你检查路径是否正确?如果路径是相对的,请尝试使用绝对路径 - 在 .NET Core 中,可执行文件的路径从 Visual Studio.
开始时有点不同顺便说一句,如果您想保留堆栈跟踪,请考虑在 catch 块中使用 "throw" 而不是 "throw ex"。