2015-08-14 9 views
1

У меня есть проект веб-API, который я создал в ASP.NET 5. Веб-интерфейс использует RazorEngine (v3.7.0) для анализа шаблонов.ASP.NET 5 и RazorEngine - проверка модуля работает, но веб-API не работает

Логика синтаксического анализа находится внутри библиотеки классов. Именно эта библиотека классов выполняет фактический синтаксический анализ. Веб-API вызывает эту библиотеку классов. Имя класса с логикой синтаксического анализа - TemplateParser, а метод, который анализирует шаблон, называется Parse().

У меня есть единичный тестовый проект для вызова TemplateParser.Parse(). Этот модульный тест работает нормально.

Однако, когда я вызываю тот же метод, вызывая веб-API, я получаю ошибку, упомянутую ниже. Ошибка заключается в том, что не удается найти сборку System.Web.Razor версии 3.0.0.0.

System.IO.FileNotFoundException произошло FileName = System.Web.Razor, Version = 3.0.0.0, культура = нейтральной, PublicKeyToken = 31bf3856ad364e35

Но тогда, почему блок работы тест?

Я использую VS 2015 Community Edition.

Чтобы отладить, я запустил проект api в Интернете с помощью F5, а затем вызывается API извне. Я использую параметр «Интернет» для своего веб-сервера (прямо сейчас, я не использую экспресс-службу IIS).

Я использую версию фрейма dnx46 как в веб-api, так и в библиотеке классов.

ответ

0

Добавьте к вашим зависимостям в файле project.json в проекте, давая вам ошибку:

"Microsoft.AspNet.Mvc.Razor": "6.0.0-beta5" //or whichever version you want 

Edit:

//inside of 
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory) 

    app.UseMvc(routes => 
    { 
     routes.MapRoute(
     name: "default", 
     template: "{controller=Home}/{action=Index}/{id?}"); 
    }); 
+0

Microsoft.AspNet.Mvc.Razor не доступен. Но есть ссылка на Microsoft.AspNet.Razor уже. – SirG

+0

Вы уверены, что используете проект ASP.NET 5? Если вы тогда, то он будет доступен. –

+0

Хорошо, я снова проверил, создав новый проект ASP.NET 5 с нуля. На этот раз я увидел Microsoft.AspNet.Mvc.Razor и включил его. Чтобы сделать это как можно проще, я добавил код обработки шаблона RazorEngine непосредственно в API. Но я все еще получаю ту же ошибку. – SirG