Razor异常编译模板

本文关键字:编译 异常 Razor | 更新日期: 2023-09-27 18:12:42

我试图使用邮政发送电子邮件从一个服务(不是在ASP。净项目)。我一直得到以下消息的异常:

error CS0103: The name 'model' does not exist in the current context

我正在遵循邮政wiki的教程:https://github.com/andrewdavey/postal/wiki/Postal-in-non-web-scenario

我的模板看起来像:

@model Namespace1.AlertEmailViewModel
From: support@example.com
To: @Model.FirstName @Model.LastName <@Model.Email>
Subject: Alert! @Model.ShortDescription

(所讨论的模型类确实存在)

任何帮助都会很感激。谢谢!

Razor异常编译模板

当您在非web场景中使用Postal时,它使用的是我们的RazorEngine项目。目前,这意味着它正在使用NuGet上当前推送的v2.1版本。

@model语法在v2.1中不支持,但即将发布的v3版本包括这种支持,以及其他不错的东西,如布局,线程安全等(https://github.com/Antaris/RazorEngine)

我在过去使用早期版本的MVC创建的项目中遇到过这个问题。

要解决这个问题,如果我没记错的话,把这个添加到你的App.config文件:

<runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
        <dependentAssembly>
            <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
            <bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="3.0.0.0" />
        </dependentAssembly>
    </assemblyBinding>
</runtime>