无法加载文件或程序集 Microsoft.AspNetCore.Http.Abstractions,版本=5.0.0.0.

4

我有一个基于net 5.0的控制台应用程序。 我正在尝试在运行时加载程序集:

Assembly loadedAssembly = Assembly.LoadFrom(assemblyPath);
var controllers = loadedAssembly.GetExportedTypes();

方法GetExportedTypes抛出了这个异常

无法加载文件或程序集'Microsoft.AspNetCore.Http.Abstractions,版本=5.0.0.0, Culture=neutral,PublicKeyToken=adb9793829ddae60'。系统无法找到指定的文件。

我在任何项目文件中都没有这样的库。程序集也有目标框架5.0。

通过在互联网上搜索,我找不到类似的错误。这是什么问题呢?


在NuGet包控制台中运行以下命令:PM> Get-Project -All | Add-BindingRedirect - zia khan
@ziakhan,我在我的程序集中运行了绑定,将其发布到文件夹中,然后尝试从发布的目录加载。出现了相同的错误。 - Natalya Mamaeva
1
我在我的主应用程序中添加了<FrameworkReference Include="Microsoft.AspNetCore.App" />。现在它可以正常工作,没有错误。 - Natalya Mamaeva
我在使用.NET 6时遇到了同样的问题。我正在尝试加载使用“Microsoft.Net.Sdk.Web” SDK的项目。这就是为什么发布后没有程序集的原因。你的应用程序是否在使用它或者它的任何依赖项? - Sarrus
@Jeremy Thompson,准备好了。 - Natalya Mamaeva
显示剩余7条评论
1个回答

2

添加

<FrameworkReference Include="Microsoft.AspNetCore.App" />

到出现错误的项目的csproj或vbproj文件中,错误将会消失。

编辑:

该错误也会发生在v6 DLLs上:

无法加载文件或程序集 'Microsoft.AspNetCore.Http.Abstractions, Version=6.0.0.0'。

解决方案是删除PackageReference并将其替换为FrameworkReference。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接