ASP.NET Core 3:如何在自定义库中引用 3.0.0 程序集?

Rom*_*kij 13 c# nuget asp.net-core asp.net-core-3.0

我看到引用Microsoft.AspNetCore.App框架(AKA ASP.NET Core 3.0)的应用程序使用程序集中的类型Microsoft.AspNetCore.Mvc.Abstractions, Version=3.0.0.0,

在此处输入图片说明

但是我找不到具有相同版本的 NuGet 包3.0.0。我现在应该如何引用包?例如,如果我想覆盖ControlBaseMicrosoft.AspNetCore.Mvc.Core, Version=3.0.0.0如果NuGet 上没有这样的包版本,我应该如何引用程序集

添加以下内容后:

  <ItemGroup>
    <FrameworkReference Include="Microsoft.AspNetCore.App" />
  </ItemGroup>
Run Code Online (Sandbox Code Playgroud)

我还有另一种衰落:

在此处输入图片说明

这给出了错误:

NETSDK1073:未识别 FrameworkReference 'Microsoft.AspNetCore.App' Routines.AspNetCore C:\Program Files\dotnet\sdk\3.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.FrameworkReferenceResolution.targets 263

卸载和重新加载应用程序无济于事。

同样的问题出现在一个空的新项目中:

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFramework>netstandard2.1</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
    <FrameworkReference Include="Microsoft.AspNetCore.App" />
  </ItemGroup>
</Project>
Run Code Online (Sandbox Code Playgroud)

汇编

1>------ 重建全部开始:项目:ClassLibrary1,配置:调试任何CPU------

1>C:\Program Files\dotnet\sdk\3.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.FrameworkReferenceResolution.targets(263,5): error NETSDK1073: The FrameworkReference 'Microsoft.AspNetCore .App' 未被识别 1> 已完成构建项目“ClassLibrary1.csproj”——失败。========== 全部重建:0 成功,1 失败,0 跳过 ==========

ESG*_*ESG 15

您需要FrameworkReference在 csproj 中添加一个

  <ItemGroup>
    <FrameworkReference Include="Microsoft.AspNetCore.App" />
  </ItemGroup>
Run Code Online (Sandbox Code Playgroud)

有关详细信息,请参阅从 ASP.NET Core 2.2 迁移到 3.0

  • 谢谢...为什么我不能引用唯一的一个程序集?我想了解建筑师的动机...... (2认同)
  • 这可能是由于 asp.net core 3 需要 .net core 3,而不是“netstandard”。当我将目标框架更改为“netcoreapp3.0”并添加“FrameworkReference”时,一切正常。 (2认同)