如何在.NET 6库中引用ASP.NET Core 6类型?

Ras*_*ast 36 c# package libraries .net-core asp.net-core

我正在为我的组织开发内部图书馆。我需要引用通常“属于”网络应用程序的某些类型,例如。提供一些扩展:

  • WebApplicationOptions
  • HttpContext

如果我使用<Project Sdk="Microsoft.NET.Sdk">,我没有对这些类型的引用,也找不到包含它们的任何 nuget 包。如果我使用<Project Sdk="Microsoft.NET.Sdk.Web">,我无法构建我的类库,因为它被视为应用程序并且必须指定入口点。

所以,我的一般问题是:为 ASP.NET Core 6 编写库的正确方法是什么?

回到 core 2.x 时代,所有东西都有软件包,比如Microsoft.AspNetCore.Http.Abstractions. 它们都停留在版本上2.2.0,我认为它们现在无法使用?

Mar*_*llo 79

您需要将 a 添加FrameworkReference到项目文件中,而不是按照此处PackageReference所述添加 a 。

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

在解决方案资源管理器中右键单击您的项目,然后选择“编辑项目文件”以打开该文件并查找该<ItemGroup>部分,如果不存在则创建一个新的部分。

  • 只是一个旁注。当然,这不适用于“netstandard”目标。 (7认同)