使用 TargetFramework 创建 Razor 类库到 .net core 3 会引发错误

Twe*_*nty 3 c# razor asp.net-core razor-class-library asp.net-core-3.0

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

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

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

在此处输入图片说明

Tao*_*hou 8

为MVC创建RCL,你需要Support pages and views像这样配置

在此处输入图片说明

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

<Project Sdk="Microsoft.NET.Sdk.Razor">
<PropertyGroup>
    <TargetFramework>netcoreapp3.0</TargetFramework>
    <AddRazorSupportForMvc>true</AddRazorSupportForMvc>
</PropertyGroup>
<ItemGroup>
    <FrameworkReference Include="Microsoft.AspNetCore.App" />
</ItemGroup>
</Project>
Run Code Online (Sandbox Code Playgroud)

对于上面的屏幕截图,它使用 VS 2019 Preview。