2009-08-04 139 views

回答

0

我已經在更大的CI方案中使用了MSBuild。我使用Hudson來觸發構建作業,我們使用MSBuild構建程序集,但不進行部署。對於部署,我使用BeyondCompare將文件「同步」到IIS站點文件夾。

5

我直接使用msbuild,跳過nAnt。您可以使用構建文件作爲屬性調用它,並從命令行指定目標。下面是一個示例soultion.build文件:

<?xml version="1.0" encoding="utf-8"?> 
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 
    <!-- Import the MSBuild Tasks --> 
    <Import Project="$(MSBuildExtensionsPath)\MSBuildCommunityTasks\MSBuild.Community.Tasks.Targets" /> 
    <PropertyGroup> 
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> 
    <ClassLibraryOutputDirectory>bin$(Configuration)</ClassLibraryOutputDirectory> 
    <ProjectDir>.\</ProjectDir > 
    <ProjectTestDir>DALTests\</ProjectTestDir > 
    <ProjectFile>$(ProjectDir)SSN.sln</ProjectFile > 
    <TestProjectFile>$(ProjectTestDir)DALTests.csproj</TestProjectFile > 
    </PropertyGroup> 

    <!-- Build projects by calling the Project files generated by VS --> 
    <Target Name="Build"> 
    <MSBuild Projects="$(ProjectFile)" /> 
    <MSBuild Projects="$(TestProjectFile)" /> 
    </Target> 

    <!-- Run Unit tests --> 
    <Target Name="Test" DependsOnTargets="Build"> 
    <CreateItem Include="DALTests\Bin\Debug\DALTests.exe"> 
     <Output TaskParameter="Include" ItemName="DALTests" /> 
    </CreateItem> 
    <NUnit Assemblies="@(DALTests)" ToolPath="D:\Program Files\NUnit 2.4.5\bin" ContinueOnError="false" OutputXmlFile="SoultionTestResults.xml" /> 
    </Target> 
</Project> 

我把這個批處理文件是這樣的: (在同一目錄作爲soultion.build)

C:\WINDOWS\Microsoft.NET\Framework\v3.5\MSBuild.exe Soultion.Build /Target:Build 

您需要的MSBuild社區任務DLL,只是谷歌它。

+0

將在什麼地方的MSBuild社區任務的DLL去?我是否從我的asp.net mvc應用程序引用? – Haroon 2011-07-18 10:32:34

+4

對不起......你如何使用這個爲asp.net mvc應用程序? – Haroon 2011-07-18 10:47:37