迁移到.NET 8后,在bin文件夹中找不到一些Microsoft.Extensions dll

问题描述 投票:0回答:1

从 .NET 6 迁移到 .NET 8。

迁移后,

bin\Debug
文件夹中不存在一些 dll。

例如,这些 DDL 存在于 .NET 6 中,但在 .NET 8 中不再存在,位于我项目的

bin\Debug
文件夹中:

Microsoft.Extensions.Caching.Abstractions.dll
Microsoft.Extensions.Caching.Memory.dll
Microsoft.Extensions.Configuration.Abstractions.dll
Microsoft.Extensions.Configuration.Binder.dll
Microsoft.Extensions.Configuration.dll
Microsoft.Extensions.Configuration.FileExtensions.dll
Microsoft.Extensions.Configuration.Json.dll
Microsoft.Extensions.DependencyInjection.Abstractions.dll
Microsoft.Extensions.DependencyInjection.dll
Microsoft.Extensions.FileProviders.Abstractions.dll
Microsoft.Extensions.FileProviders.Physical.dll
Microsoft.Extensions.FileSystemGlobbing.dll
Microsoft.Extensions.Http.dll
Microsoft.Extensions.Logging.Abstractions.dll
Microsoft.Extensions.Logging.dll
Microsoft.Extensions.Options.dll
Microsoft.Extensions.Primitives.dll
System.Security.Cryptography.Pkcs.dll
System.Text.Encodings.Web.dll

注意:项目和解决方案已成功构建,没有错误。

我尝试了以前版本的 nuget 软件包,但仍然遇到同样的问题。

运行应用程序或 powershell 模块时,我收到错误“无法加载文件或程序集 'Microsoft.Extensions.Http,Version=8.0.0.0,Culture=neutral,PublicKeyToken=adb9793829ddae60'。系统找不到指定的文件。”

c# nuget .net-8.0
1个回答
0
投票

随着 .NET Core 3.0 的发布,许多 ASP.NET Core 程序集不再作为包发布到 NuGet。相反,程序集包含在

Microsoft.AspNetCore.App
共享框架中,现在更推荐使用共享框架

并且针对

Microsoft.NET.Sdk.Web
SDK 的项目隐式引用
Microsoft.AspNetCore.App
框架,您只需删除对包的引用即可

对于使用

Microsoft.NET.Sdk
Microsoft.NET.Sdk.Razor
SDK 的项目,您可以删除软件包并添加框架参考:

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

相关文件:

https://learn.microsoft.com/en-us/aspnet/core/fundamentals/target-aspnetcore?view=aspnetcore-8.0&tabs=visual-studio

https://learn.microsoft.com/en-us/aspnet/core/fundamentals/metapackage-app?view=aspnetcore-8.0

© www.soinside.com 2019 - 2024. All rights reserved.