【问题标题】:Creating Razor Class Library with TargetFramework to .net core 3 throws errors使用 TargetFramework 创建 Razor 类库到 .net core 3 会引发错误
【发布时间】:2020-01-10 11:47:23
【问题描述】:

我正在创建一个 ASP.Net Core 3 预发行版 9 MVC 应用程序,并且我想创建一些 Razor 类库 (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>

【问题讨论】:

  • 您是如何创建 RCL 的?根据错误信息,它似乎与Website.Landing 有关。这是内置模板吗?与我们分享有关您的步骤的详细信息。
  • 是的,我是通过 CLI 模板创建的。

标签: c# asp.net-core razor asp.net-core-3.0 razor-class-library


【解决方案1】:

为MVC创建RCL,需要配置Support pages and viewslike

为此,它会在你的 *.csproj 中附加 &lt;AddRazorSupportForMvc&gt;true&lt;/AddRazorSupportForMvc&gt;

<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。

【讨论】:

  • 非常感谢,它确实有效!奇怪的是它在任何地方都没有说明。 (我通过 CLI 创建了 RCL)
  • notecoreapp3.1好像不需要了
猜你喜欢
  • 2020-02-21
  • 1970-01-01
  • 1970-01-01
  • 2019-01-28
  • 1970-01-01
  • 2011-01-19
  • 2017-11-21
  • 1970-01-01
  • 2020-07-10
相关资源
最近更新 更多