2016-01-27 2 views
9

Я пытаюсь перенести существующий код из MVC5 в MVC6 и у меня возникли трудности с этим конкретным кодом:Бритва Двигатель не работает в ASP.net MVC 5 6

Engine.Razor.RunCompile(File.ReadAllText(emailTemplatePath), "emailTemplateKey", typeof (EmailViewModel), emailViewModel); 

Я получаю следующее сообщение об ошибке во время выполнения :

MissingMethodException: Method not found: "Void Microsoft.AspNet.Razor.CodeGenerators.GeneratedClassContext.set_ResolveUrlMethodName(System.String)". in RazorEngine.Compilation.CompilerServiceBase.CreateHost(Type templateType, Type modelType, String className) 

оригинальный код, который я использовал в MVC5 был взят из here. Если нет способа конвертировать вышеуказанный код для работы с MVC6, что еще один элегантный способ создания шаблонов электронной почты?

+0

Не указывайте другие сообщения, описывающие проблему, похожую на вашу, без объяснения вашей ситуации. Также опубликуйте свой код и сообщения об ошибках, которые вы получите. Посмотрите http://stackoverflow.com/help/how-to-ask, а затем отредактируйте свой вопрос –

+0

, который вы хотите перенести из mvc5 в mvc6 или создать шаблон электронной почты – anand

ответ

2

По-видимому, произошли изменения в классе GeneratedClassContext - собственность ResolveUrlMethodName больше не существует, следовательно MissingMethodException. Похоже, что изменился и класс ParserContext, так как доступ к обработчику событий OnError вызывает то же исключение.

На самом деле это сеттер недостающего имущества отсутствует (простите за выражение!), Который, будучи методом, вызывает исключение. Абсолютно точный, но несколько вводящий в заблуждение, если вы не вспомните об этом.

Совсем аналогичный вопрос (и хороший ответ альтернативное решение!) Здесь: RazorEngine and MVC 6 beta 7.

Смежные вопросы