Прекомпиляция Razor Views в библиотеке классов - PullRequest
0 голосов
/ 26 февраля 2019

Используя VS2015 и MVC 5.2.3, я пытаюсь сместить области функциональности, включая представления Razor, в библиотеки классов, чтобы я мог разделить его между несколькими проектами.

Я использую средство MvcBuildViews, как обычно описанои настройте его следующим образом, так как он часто ловит опечатки перед публикацией:

<Target Name="MvcBuildViews" AfterTargets="AfterBuild" Condition="'$(MvcBuildViews)'=='true'">
        <AspNetCompiler VirtualPath="temp" PhysicalPath="$(ProjectDir)" />
</Target>

Это прекрасно работает с основным проектом, но у меня возникают проблемы с его работой с библиотеками. Вместо этого я получаюследующая ошибка компилятора:

web.config (41): ошибка ASPCONFIG: не удалось загрузить файл или сборку 'System.Web.Mvc, версия = 5.2.3.0, культура = нейтральная, PublicKeyToken = 31bf3856ad364e35'или одна из его зависимостей.Система не может найти указанный файл.

Ссылочный раздел web.config выглядит следующим образом:

<system.web>
    <compilation>
        <assemblies>
            <add assembly="System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />                
        </assemblies>
    </compilation>
    <httpRuntime targetFramework="4.6"/>
</system.web>

Все настройки выглядят очень похоже на основной проект, и эксперименты былибезрезультатный и продолжает приводить меня к той же самой основной ошибке выше.Все обязательные ссылки установлены и совпадают с основными проектами.

Я понимаю, что тег AspNetCompiler в csproj является оболочкой для процесса aspnet_compiler.exe , но я не вижуЧем отличается среда компиляции в библиотеке классов от основного проекта.

Возможно ли передать определенную папку поиска сборки компилятору в этом теге?- поскольку сборка System.Web.Mvc.dll, безусловно, существует, она находится в папке bin \ Release проекта библиотеки классов.Или есть лучший подход?

Подробная информация о внутренних процессах aspnet_compiler.exe недостаточна и не имеет подробного режима диагностики.

Какя должен продолжить это?

...