为什么将Razor UI类库构建为.NET Standard而不是.NET Core

Ala*_*DHI 2 c# asp.net-mvc razor .net-core asp.net-core

我已经在.Net核心应用程序中创建了一个剃刀类库。作为.NET Standard构建的库和主要的Web项目,以及作为.Net core 2.2构建的其他类库,当我尝试添加对剃刀类库的引用时,出现此错误:

项目与Net Standard 2.0不兼容

我从[netstandard2.0]更改了我的剃刀类库中的目标框架:

在此处输入图片说明

到[netcoreapp2.2]:

在此处输入图片说明

一切正常,

我知道.Net标准允许剃刀类库针对.Net核心应用程序和.Net核心框架应用程序,但是我也知道Razor类库是.Net core 2.1的功能。

问:我需要知道为什么剃须刀类库是不是作为.NET Standard构建的,而不是在.Net core中构建的,我是否应该将我的所有类库都更改为.Net core 2,以便能够添加.Net核心类库作为参考?

Mar*_*ich 5

ASP.NET Core 2. *也可以在.NET Framework上运行,因此您需要一个.NET Standard库才能在.NET Core和.NET Framework托管应用程序上使用Razor UI,因此默认模板可以正常工作在这两种情况下。

由于ASP.NET Core 3+将不再在.NET Framework上运行,因此该行为可能会更改。但是“库”的建议默认值当前是.NET Standard,因此遵循Razor UI库模板是有意义的。