在ASP.NET Core应用程序中,在将RazorLight与FluentEmail的cshtml Razor模板文件一起使用时,我遇到了.NET Core 2.0和.NET Core 2.1的错误:
“找不到软件包 XYZ 的编译库位置”
XYZ 的位置似乎有所变化,具体取决于我所部署的.NET Core版本。
该错误并没有出现在我的开发环境中,而是在部署后遇到任何需要FluentEmail使用Razor模板文件生成电子邮件正文的API端点时抬起头来。
答案 0 :(得分:4)
默认情况下启用Razor文件的发布时编译。就我而言,我不需要此功能,因为我的Razor模板是在运行时由FluentEmail编译的。通过将<MvcRazorCompileOnPublish>false</MvcRazorCompileOnPublish>
添加到应用程序的csproj文件中,发布时间编译被禁用,并且错误得以解决。
csproj条目示例:
<PropertyGroup>
<MvcRazorCompileOnPublish>false</MvcRazorCompileOnPublish>
</PropertyGroup>