he descubierto que en el .csproj para un proyecto ASP.NET MVC existe el siguiente objetivo:tiempo de compilación vista MVC comprobar con msbuild
<Target Name="AfterBuild" Condition="'$(MvcBuildViews)'=='true'">
<AspNetCompiler VirtualPath="temp" PhysicalPath="$(ProjectDir)\..\$(ProjectName)" />
</Target>
Esta examina la propiedad MvcBuildViews bool en el cual .csproj si se establece en verdadero obtiene la construcción para verificar las vistas.
Uso NAnt para compilar mi aplicación para la implementación. ¿Es posible hacer que este objetivo se ejecute desde la línea de comandos de msbuild sin tener que modificar el csproj? (Quiero que se ejecute solo en implementación, no en todas las compilaciones ya que su slow + resharper lo captura en VS de todos modos)
De lo contrario, cómo traducir el código anterior a la línea de comandos de msbuild para poder modificar mi script de implementación ? Aquí está mi script actual:
<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>
Brillante, no sabía que podía hacer eso, pero luego, al mirar mi propio guión, ¡ya lo estoy haciendo por otras propiedades! doh! –