3

我正在尝试使用 Postal 从服务(不在 ASP.NET 项目中)发送电子邮件。我不断收到以下消息的异常:

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

我正在关注 Postal 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

(有问题的模型类确实存在。)

任何帮助,将不胜感激。谢谢!

4

2 回答 2

2

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

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

于 2011-10-31T13:08:57.620 回答
0

对于使用早期版本的 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>
于 2011-10-30T18:43:46.577 回答