簡體   English   中英

在 Class 庫中為 ASP.NET 核心 3 創建 TagHelpers

[英]Create TagHelpers in Class Library for ASP.NET Core 3

如何通過對 ASP.NET Core 3 的更改在單獨的類庫中創建TagHelper類?

在 ASP.NET Core 1.x 和 2.x 中,您可以僅引用 NuGet 包Microsoft.AspNetCore.Razor以允許您的類派生自Microsoft.AspNetCore.Razor.TagHelpers.TagHelper

在 ASP.NET Core 3.x 中,似乎只有一個名為Microsoft.AspNetCore.App的大 package ,在 NuGet 上找不到

該解決方案應支持在ASP.NET Core 3 和更早版本中使用包含的TagHelper類。

看看Migrate from ASP.NET Core 2.2 to 3.0

它解釋了僅引用Microsoft.NET.Sdk.Razor的項目(例如您的 class 庫)需要添加對Microsoft.AspNetCore.App的引用。 但是,這會自動包含在針對Microsoft.NET.Sdk.Web (例如 MVC 應用程序或 WebAPI)的項目中。

引用FrameworkReference部分(第二個項目符號適用於您的項目):

通過上述軟件包之一提供的 ASP.NET 內核的功能作為Microsoft.AspNetCore.App共享框架的一部分提供。 共享框架是安裝在機器上的一組程序集(.dll 文件),包括運行時組件和目標包。 有關詳細信息,請參閱共享框架。

  • Microsoft.NET.Sdk.Web SDK 為目標的項目隱式引用了Microsoft.AspNetCore.App框架。 這些項目不需要額外的參考:

     <Project Sdk="Microsoft.NET.Sdk.Web"> <PropertyGroup> <TargetFramework>netcoreapp3.0</TargetFramework> </PropertyGroup>... </Project>
  • Projects that target Microsoft.NET.Sdk or Microsoft.NET.Sdk.Razor SDK, should add an explicit FrameworkReference to Microsoft.AspNetCore.App :

     <Project Sdk="Microsoft.NET.Sdk.Razor"> <PropertyGroup> <TargetFramework>netcoreapp3.0</TargetFramework> </PropertyGroup> <ItemGroup> <FrameworkReference Include="Microsoft.AspNetCore.App" /> </ItemGroup>... </Project>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM