使用 TargetFramework 创建 Razor Class 库到 .net core 3 会抛出错误

Creating Razor Class Library with TargetFramework to .net core 3 throws errors

我正在创建一个 ASP.Net Core 3 pre-release 9 MVC 应用程序,我想创建一些 Razor Class 库 (RCL)。当从模板创建 RCL 时,它将默认以 netstandard2.0 为目标,这对于 .Net Core 3 来说确实不可能再参考以下 GitHub issue。然后通过以下代码抛出一些奇怪的错误:

<Project Sdk="Microsoft.NET.Sdk.Razor">
  <PropertyGroup>
    <TargetFramework>netcoreapp3.0</TargetFramework>
    <RazorLangVersion>3.0</RazorLangVersion>
  </PropertyGroup>

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

要为 MVC 创建 RCL,您需要像

那样配置Support pages and views

为此,它将在您的 *.csproj 中附加 <AddRazorSupportForMvc>true</AddRazorSupportForMvc>,例如

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

以上截屏使用VS 2019 Preview。