[英]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
orMicrosoft.NET.Sdk.Razor
SDK, should add an explicitFrameworkReference
toMicrosoft.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.