Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# .NET Core 2.2程序集FileLoadException_C#_.net_Asp.net Core_.net Core_.net Assembly - Fatal编程技术网

C# .NET Core 2.2程序集FileLoadException

C# .NET Core 2.2程序集FileLoadException,c#,.net,asp.net-core,.net-core,.net-assembly,C#,.net,Asp.net Core,.net Core,.net Assembly,我想将.netframework4.0中的项目迁移到.netcore2.2。 但是我的程序执行有一个错误 我的项目希望使用程序集类加载.dll,它在.NET Framework 4.0中运行良好,但在.NET Core 2.2中则不行 它正在抛出FileLoadException,并显示消息无法加载文件或程序集'LibName,Version=3.0.4.5,Culture=neutral,PublicKeyToken=null' 项目中是否缺少一个包 try { var pathDll

我想将
.netframework4.0
中的项目迁移到
.netcore2.2
。 但是我的程序执行有一个错误

我的项目希望使用
程序集
类加载
.dll
,它在
.NET Framework 4.0
中运行良好,但在
.NET Core 2.2
中则不行

它正在抛出
FileLoadException
,并显示消息
无法加载文件或程序集'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;
}
解决方案中安装的My NuGet软件包:


在.NET Core 2.1中,我也以这种方式调用assembly,它可以正常工作。是否检查路径是否正确?若路径是相对的,那个么从VisualStudio开始时,尝试使用绝对的.NET核心路径,因为可执行文件的路径有点不同


顺便说一下,如果想保持堆栈跟踪,请考虑使用“抛出”而不是“抛出EX”。可能
dll
是32位的,并且必须被
.NET Core
项目允许?是的,这是可能的。我复制了它。能否将LibName.dll重新编译为64位?dll是使用
AnyCpu
选项编译的。我将它重新编译为64位,现在它工作正常。
AnyCpu
的默认值是32位?我得告诉自己。。谢谢AnyCPU默认为64位,除非选中“首选32位”。