.net core .Net Core控制台应用程序:使用Razor引擎引发异常:编译模板时出错,缺少程序集引用

.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)

我的.net核心控制台项目需要使用razor引擎发送电子邮件以获取模板。我已经安装了最新的RazorEngine.NetCore 2.2.2。它在抛出异常的情况下不起作用,说我可能会错过程序集。详情如下

例外情况:

 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”在当前上下文中不存在
我的ApplyTemplate方法:

 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


但是这个错误仍然表明我错过了它。有人能帮我解决这个问题吗?

我也有同样的问题。你找到解决办法了吗?我也有同样的问题。你找到解决办法了吗?