Публикация предварительно скомпилированного ASP.net-MVC VS2010 - PullRequest
2 голосов
/ 07 ноября 2011

Я нашел несколько решений, в которых используется событие Post-Build.

Есть ли способ опубликовать веб-сайт ASP.NET MVC со скомпилированными представлениями (чтобы предотвратитьзадержка при первом просмотре) но не компилировать их в среде разработки (чтобы быстрее компилировать сайт)?

Спасибо!

PS В идеале этобыло бы настроить функцию публикации одним щелчком в Visual Studio 2010

Редактировать

Как я понял, <AspNetCompiler VirtualPath="temp" PhysicalPath="$(WebProjectOutputDir)" /> делает то же самое, что и

 <MvcBuildViews>true</MvcBuildViews>
 <EnableUpdateable>false</EnableUpdateable>

но для ранних версий

Мой .csproj выглядит как

...
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
    <MvcBuildViews>true</MvcBuildViews>
    <EnableUpdateable>false</EnableUpdateable>
...

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

Пожалуйста, помогите

Ответы [ 2 ]

2 голосов
/ 07 ноября 2011

Вы можете настроить событие после сборки для компиляции представлений, только когда вы компилируете в режиме выпуска, чтобы оно не замедляло вас во время разработки (когда вы, вероятно, компилируете в режиме отладки.)

Например,следующий узел в .csproj будет компилировать представления только тогда, когда проект компилируется в режиме выпуска.

  <Target Name="AfterBuild" Condition="'$(Configuration)'=='Release'">
    <AspNetCompiler VirtualPath="temp" PhysicalPath="$(WebProjectOutputDir)" />
  </Target>
0 голосов
/ 22 мая 2013

Или вы можете установить MvcBuildViews в true, но делайте это только для определенных конфигураций:

<MvcBuildViews>true</MvcBuildViews>

<Target Name="MvcBuildViews" AfterTargets="AfterBuild" Condition="'$(MvcBuildViews)'=='true' And '$(Configuration)'!='Debug'">
    <AspNetCompiler VirtualPath="temp" PhysicalPath="$(WebProjectOutputDir)" />
</Target>

Обратите внимание, что я добавил And '$(Configuration)'!='Debug'" в условие.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...