.net core .Net Core控制台应用程序:使用Razor引擎引发异常:编译模板时出错,缺少程序集引用
我的.net核心控制台项目需要使用razor引擎发送电子邮件以获取模板。我已经安装了最新的RazorEngine.NetCore 2.2.2。它在抛出异常的情况下不起作用,说我可能会错过程序集。详情如下 例外情况:.net core .Net Core控制台应用程序:使用Razor引擎引发异常:编译模板时出错,缺少程序集引用,.net-core,razorengine,.net Core,Razorengine,我的.net核心控制台项目需要使用razor引擎发送电子邮件以获取模板。我已经安装了最新的RazorEngine.NetCore 2.2.2。它在抛出异常的情况下不起作用,说我可能会错过程序集。详情如下 例外情况: private static string ApplyTemplate(string templatePath, EmailModel model) { if (string.IsNullOrWhiteSpace(templatePath)
private static string ApplyTemplate(string templatePath, EmailModel model)
{
if (string.IsNullOrWhiteSpace(templatePath) || model == null || !File.Exists(templatePath))
{
throw new ArgumentException();
}
var config = new TemplateServiceConfiguration
{
TemplateManager = new ResolvePathCheckModifiedTimeTemplateManager(new[] { "Templates" }),
DisableTempFileLocking = true
};
Engine.Razor = RazorEngineService.Create(config);
var emailHtmlBody = Engine.Razor.RunCompile(templatePath, model.GetType(), model);
return emailHtmlBody;
}
2019-07-23 10:16:37.129+10:00[ERR]引发异常:RazorEngine.Templating.TemplateCompilationException:编译模板时出错。
请尝试以下方法来解决此情况:
*如果问题与缺少/无效引用或多个定义有关,请尝试加载
手动(在编译appdomain中!)或
通过提供自己的IReferenceResolver实现手动指定引用。
有关详细信息,请参阅
目前,所有引用都必须作为文件提供!
*如果获取的“类”不包含“成员”的定义:
尝试其他模型类型(例如“null”使模型成为动态的)。
注意:不能使用typeof(dynamic)使模型成为动态的!
或者尝试使用静态类型而不是匿名/动态类型
有关错误的更多详细信息:
- 错误:(2,46)命名空间“Microsoft.AspNetCore.Razor”中不存在类型或命名空间名称“Hosting”(是否缺少程序集引用?)
- 错误:(10,40)命名空间“Microsoft.AspNetCore.Razor”中不存在类型或命名空间名称“Hosting”(是否缺少程序集引用?)
- 错误:(17,6)名称“model”在当前上下文中不存在
private static string ApplyTemplate(string templatePath, EmailModel model)
{
if (string.IsNullOrWhiteSpace(templatePath) || model == null || !File.Exists(templatePath))
{
throw new ArgumentException();
}
var config = new TemplateServiceConfiguration
{
TemplateManager = new ResolvePathCheckModifiedTimeTemplateManager(new[] { "Templates" }),
DisableTempFileLocking = true
};
Engine.Razor = RazorEngineService.Create(config);
var emailHtmlBody = Engine.Razor.RunCompile(templatePath, model.GetType(), model);
return emailHtmlBody;
}
我很困惑,因为在我的参考资料中可以找到Microsoft.AspNetCore.Razor.Hosting
但是这个错误仍然表明我错过了它。有人能帮我解决这个问题吗?我也有同样的问题。你找到解决办法了吗?我也有同样的问题。你找到解决办法了吗?