2009-03-16 13 views
14

Znalazłem że w .csproj dla projektu ASP.NET MVC jest następujący cel:czas kompilacji MVC widok kontroli z msbuild

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

ten analizuje własność MvcBuildViews bool w .csproj który jeśli ustawiona na true, pobiera kompilację, aby sprawdzić widoki.

Używam NAnt do zbudowania mojej aplikacji do wdrożenia, czy możliwe jest uruchomienie tego celu z wiersza poleceń msbuild bez konieczności modyfikacji csproj? (Chcę, aby był uruchamiany tylko podczas wdrażania, a nie każda kompilacja, ponieważ jego powolny + resharper przechwytuje go w VS).

Jeśli nie, to jak przetłumaczyć powyższy kod na wiersz poleceń msbuild, więc mogę zmodyfikować mój skrypt wdrażania ? Oto mój obecny scenariusz:

<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> 

Odpowiedz

16

Ustawianie MvcBuildViews właściwość na true powinno działać.

<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> 
+0

Świetnie, nie wiedziałem, że możesz to zrobić, ale potem patrząc na mój własny skrypt, wyraźnie robię to dla kilku innych właściwości! doh! –

Powiązane problemy