Шаблон компиляции исключений Razor - PullRequest
3 голосов
/ 30 октября 2011

Я пытаюсь использовать Почтовая для отправки электронных писем из службы (не в проекте ASP.NET).Я продолжаю получать исключения со следующим сообщением:

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

Я следую учебному пособию из вики Почты: 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

(рассматриваемый класс моделей существует.)

Любая помощь будет принята с благодарностью.Спасибо!

Ответы [ 2 ]

2 голосов
/ 31 октября 2011

Поскольку вы используете Почтовый в не-сетевом сценарии, под капотом он использует наш проект RazorEngine.В настоящее время это означает, что он использует версию v2.1, в настоящее время загруженную в NuGet.

Синтаксис @model изначально не поддерживается в v2.1, но в следующем выпуске v3 эта поддержка также поддерживается, как идругие приятные вещи, такие как макеты, безопасность потоков и т. д. (https://github.com/Antaris/RazorEngine)

0 голосов
/ 30 октября 2011

У меня была эта проблема в прошлом для проектов, которые были созданы с использованием более ранней версии 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>
...