проверка просмотра mvc во время компиляции с помощью msbuild

Я обнаружил, что в .csproj для проекта ASP.NET MVC есть следующая цель:

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

Это проверяет свойство MvcBuildViews bool в .csproj, которое, если установлено в true, заставляет сборку проверять представления.

Я использую NAnt для создания своего приложения для развертывания. Можно ли запустить эту цель из командной строки msbuild без изменения csproj? (Я хочу, чтобы он запускался только при развертывании, а не в каждой сборке, поскольку его медленный + resharper все равно ловит его в VS)

Если нет, как мне перевести приведенный выше код в командную строку msbuild, чтобы я мог изменить свой сценарий развертывания? Вот мой текущий сценарий:

<target name="Deploy" depends="init">
    <exec basedir="." program="${DotNetPath}msbuild.exe" commandline=" src/MyProject.Web/MyProject.Web.csproj /nologo 
  /t:Rebuild
  /t:ResolveReferences;_CopyWebApplication
  /p:OutDir=../../output/build/bin/
  /p:WebProjectOutputDir=../../output/build/
  /p:Debug=false
  /p:Configuration=Release
  /v:m"
    workingdir="." failonerror="true" />
    <call target="tests"/>
    <call target="compress-js"/>
    <call target="compress-css"/>
    <call target="rar-deployed-code"/>
  </target>

person Andrew Bullock    schedule 16.03.2009    source источник


Ответы (1)


Установка для свойства MvcBuildViews значения true должна работать.

<target name="Deploy" depends="init">
  <exec basedir="." program="${DotNetPath}msbuild.exe" commandline=" src/MyProject.Web/MyProject.Web.csproj /nologo 
    /t:Rebuild
    /t:ResolveReferences;_CopyWebApplication
    /p:OutDir=../../output/build/bin/
    /p:WebProjectOutputDir=../../output/build/
    /p:Debug=false
    /p:Configuration=Release
    /p:MvcBuildViews=true
    /v:m"
      workingdir="." failonerror="true" />
      <call target="tests"/>
      <call target="compress-js"/>
      <call target="compress-css"/>
      <call target="rar-deployed-code"/>
</target>
person Julien Hoarau    schedule 16.03.2009
comment
Великолепно, я не знал, что вы можете это сделать, но, глядя на мой собственный скрипт, я ясно, что уже делаю это для нескольких других свойств! дох! - person Andrew Bullock; 16.03.2009