Как я могу исправить компиляцию для относительных путей с помощью StackExchange.Предварительная компиляция?

Как я могу исправить компиляцию для относительных путей с помощью StackExchange.Предварительная компиляция?

09.03.2017 01:28:02 Просмотров 50 Источник

Для https://github.com/StackExchange/StackExchange.Precompilation:

У нас есть несколько общих представлений в отдельной библиотеке, где мы установили StackExchange.Предварительная компиляция. Мы должны загрузить эти представления вместе с обычными представлениями веб-проекта. У нас есть последняя версия StackExchange.Предварительная компиляция, установленная из NuGet в обоих проектах. Я делаю сборку загрузки, как это:

// Register precompiled view engine
ViewEngines.Engines.Clear();

List<Assembly> viewAssemblies = new List<Assembly> { typeof(HomeController).Assembly };
viewAssemblies.AddRange(AppDomain.CurrentDomain.GetAssemblies().Where(a => a.FullName.ToLower().Contains(".web")));

Log.Debug().Message("Looking for views in: {0}", string.Join(", ", viewAssemblies.Select(a => a.FullName))).Write();

ViewEngines.Engines.Add(new PrecompiledViewEngine(viewAssemblies.ToArray()));

В веб-проекте мы возвращаем представления обычным способом: return View("Index"); При использовании PrecompiledViewEngineмы получаем ошибку при попытке отобразить относительные имена, как это:

The view 'Index' or its master was not found or no view engine supports the searched locations. 
The following locations were searched: 
~/util/Views/Example/Index.cshtml 
~/util/Views/Shared/Index.cshtml

util-это псевдоним приложения в IIS. У нас нет ни одной зарегистрированной области.

Когда я скопировал PrecompiledViewEngineкласс из GitHub-это сработало ! Я упускаю что-то, что сделает версию, распространяемую через NuGet work?

У вопроса есть решение - Посмотреть?

Ответы - Как я могу исправить компиляцию для относительных путей с помощью StackExchange.Предварительная компиляция? / How can I fix compilation for relative paths using StackExchange.Precompilation?

Является ответом!
Nate Hitze

09.03.2017 03:56:20

Копирование кода поверх оказалось не работать. Я, должно быть, пытался что-то еще в то время, что заставило его работать для этого конкретного случая.

Проблема на самом деле ошибка в StackExchange.Предварительная компиляция. Я создал проблему там: https://github.com/StackExchange/StackExchange.Precompilation/issues/12

Закрыть X