首页 > 解决方案 > 从 ASP.NET Core 5 中的非 Web 应用程序项目引用 Razor

问题描述

我们正在将一个类库项目从 .NET Framework 4.8 移植到 .NET 5。除其他职责外,该库还使用 Razor 从模板生成 HTML 电子邮件。我们曾经通过依赖两个 NuGet 包从该类库项目中引用 Razor:

<PackageReference Include="Microsoft.AspNetCore.Mvc.Razor" Version="2.1.3" />
<PackageReference Include="Microsoft.AspNetCore.Mvc.ViewFeatures" Version="2.1.3" />

(我们还必须使用类库设置应用程序以“保留编译上下文”,以便 Razor 通过<PreserveCompilationContext>true</PreserveCompilationContext>.)

对于 .NET 5,我们也需要更新这些引用。但是,版本 5 不再存在相应的 NuGet 包。相反,现在将 ASP.NET Core 添加为FrameworkReference

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

这对于 Web 应用程序来说很好,但我们实际上并没有在这里构建 Web 应用程序。

在我们的场景中引用 Razor 的正确方法是什么?

标签: asp.net-corerazor

解决方案


推荐阅读