Kam*_*Kam 6 .net asp.net-web-api razorengine
我必须创建一个能够发送电子邮件的 Asp.Net Web Api。我设法发送了电子邮件,但仅使用存储在本地变量中的简单模板。下一步是从外部文件渲染模板,如下所示:
string filePath = @"C:\Data\EmailClient\EmailClient\EmailClient\EmailTemplate\ReceiptTemplate.cshtml";
var config = new TemplateServiceConfiguration
{
TemplateManager = new ResolvePathTemplateManager(new[] { "EmailTemplates" }),
DisableTempFileLocking = true
};
Engine.Razor = RazorEngineService.Create(config);
if (File.Exists(filePath))
{
emailHtmlBody = Engine.Razor.RunCompile(filePath, null, email);
mail.Body = emailHtmlBody;
}
Run Code Online (Sandbox Code Playgroud)
问题是,当剃刀引擎尝试解析模板时,会出现以下错误:
"Could not load type 'System.Security.Principal.WindowsImpersonationContext' from assembly 'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'."
Run Code Online (Sandbox Code Playgroud)
我试图从字符串中解析模板,但我也因同样的错误而被阻止。
我今天在调试项目时遇到了同样的问题,发现该项目引用了 RazorEngine 的 .Net Framework 版本而不是 .NetCore 版本。
在我删除该引用并使用正确的数据包后,该应用程序开始工作。
这可以解释为什么您创建面向 4.6.1 的 Web Api 的决议有效。
| 归档时间: |
|
| 查看次数: |
7122 次 |
| 最近记录: |