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

Posted

技术标签:

【中文标题】ASP.NET Core 3:如何在自定义库中引用 3.0.0 程序集?【英文标题】:ASP.NET Core 3: How to reference 3.0.0 assemblies in custom libraries? 【发布时间】:2019-09-30 21:31:25 【问题描述】:

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

但我找不到具有相同版本3.0.0 的 NuGet 包。我现在应该如何引用包?例如。如果我想覆盖ControlBase,如果有no such package versions on NuGet,我应该如何引用Microsoft.AspNetCore.Mvc.Core, Version=3.0.0.0 程序集?

添加以下内容后:

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

我还有另一种衰弱:

这给出了错误:

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>

编译

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

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

【问题讨论】:

【参考方案1】:

你需要在你的 csproj 中添加一个FrameworkReference

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

详情请见Migrate from ASP.NET Core 2.2 to 3.0

【讨论】:

谢谢... 为什么我不能引用唯一的一个程序集?我想了解架构师的动机...... 至少在我的情况下它不起作用。 TargetFramework&gt;netstandard2.1&lt;/TargetFramework&gt; 已检查,没有其他库。即使在新的空 C# 库中(当然是netstandard2.1)。 这可能是因为 asp.net core 3 需要 .net core 3,而不是 netstandard。当我将目标框架更改为netcoreapp3.0,并添加FrameworkReference,一切正常。 他们写在netstadard2.1 子集中(Microsoft.AspNetCore.Mvc.Abstractions 中的平台依赖于什么?)然后专门发布它netcoreapp3.0 .. 对 MS 架构师的任性没有限制。

以上是关于ASP.NET Core 3:如何在自定义库中引用 3.0.0 程序集?的主要内容,如果未能解决你的问题,请参考以下文章

WebResource-asp.net自定义控件引用外部资源方法

ASP.NET Core 类库中取读配置文件 appsettings.json

ASP.Net Core 2.0 如何获取中间件中的所有请求标头? [复制]

单独程序集中的 ASP.NET Core MVC 控制器

Asp.Net 5 类库中未引用 Mscorlib

如何将项目引用添加到 ASP.NET Core 1.0 MVC 项目