2009-03-16 14 views
14

साथ जाँच मैंने पाया निम्नलिखित लक्ष्य है कि एक ASP.NET MVC .csproj प्रोजेक्ट के लिए में:संकलन समय MVC दृश्य MSBuild

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

यह .csproj में MvcBuildViews bool संपत्ति की जांच करता है जो यदि सत्य पर सेट किया गया तो विचारों को देखने के लिए बिल्ड हो जाता है।

मैं तैनाती के लिए अपना ऐप बनाने के लिए NAnt का उपयोग करता हूं, क्या यह लक्ष्य csproj को संशोधित किए बिना msbuild कमांड लाइन से चलाने के लिए संभव है? (मैं चाहता हूँ कि यह केवल तैनाती पर चलाने के लिए, नहीं हर निर्माण इसकी धीमी + ReSharper वैसे भी वी.एस. में यह फैल जाती है के रूप में)

यदि नहीं, तो मैं अपने तैनाती स्क्रिप्ट को संशोधित कैसे मैं 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> 

उत्तर

16

संपत्ति को सेट करना MvcBuildViews को सच करना चाहिए।

<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

शानदार, मुझे नहीं पता था कि आप ऐसा कर सकते हैं, लेकिन फिर मेरी अपनी स्क्रिप्ट को देखकर मैं स्पष्ट रूप से कई अन्य गुणों के लिए इसे कर रहा हूं! doh! –

संबंधित मुद्दे