2009-03-16 32 views
14

tôi đã tìm thấy rằng trong csproj cho một dự án ASP.NET MVC có các mục tiêu sau đây:thời gian biên dịch xem MVC kiểm tra với msbuild

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

này xem xét tài sản MvcBuildViews bool trong csproj mà nếu được đặt thành true, hãy tạo bản dựng để kiểm tra chế độ xem.

Tôi sử dụng NAnt để xây dựng ứng dụng của mình để triển khai, có thể lấy mục tiêu này để chạy từ dòng lệnh msbuild mà không phải sửa đổi csproj không? (Tôi muốn nó được chạy chỉ khi triển khai, không phải mọi bản dựng đều làm chậm + resharper của nó bắt nó trong VS anyway)

Nếu không, làm thế nào để tôi dịch mã trên thành dòng lệnh msbuild để tôi có thể sửa đổi kịch bản triển khai của mình ? Đây là tập lệnh hiện tại của tôi:

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

Trả lời

16

Đặt thuộc tính MvcBuildViews thành true sẽ hoạt động.

<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

Tuyệt vời, tôi không biết bạn có thể làm điều đó, nhưng sau đó nhìn vào kịch bản của riêng tôi, tôi đã rõ ràng đã làm điều đó cho một số thuộc tính khác! doh! –

Các vấn đề liên quan