當然,它可以通過一個自定義的MSBuild腳本完成。下面是我們運行的預編譯我們的ASP.NET MVC 3網站的一個(不是說它實際上因ASP.NET版本而異)。
首先,它運行的MSBuild對解決方案文件運行規則的建立,然後運行該自定義的MSBuild代碼:
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Import Project="$(MSBuildExtensionsPath)\MSBuildCommunityTasks\MSBuild.Community.Tasks.Targets"/>
<PropertyGroup>
<WebProject>Web\ChatPast.Web\ChatPast.Web.csproj</WebProject>
<WebProjectFolder>Web\ChatPast.Web</WebProjectFolder>
<WebPublishFolder>ChatPastWebPublish</WebPublishFolder>
</PropertyGroup>
<ItemGroup>
<ZipFiles Include="$(teamcity_build_workingDir)\src\ChatPast\$(WebPublishFolder)\**\*.*" />
</ItemGroup>
<Target Name="Build">
<!-- Compilation of all projects -->
<MSBuild Projects="ChatPast.sln" Properties="Configuration=Release"/>
<!-- Creating web publish folder. -->
<RemoveDir Directories="$(WebPublishFolder)"/>
<MakeDir Directories="$(WebPublishFolder)"/>
<!-- Running ASP.NET publish -->
<MSBuild Projects="$(WebProject)"
Targets="ResolveReferences;_CopyWebApplication"
Properties="Configuration=Release;WebProjectOutputDir=..\..\$(WebPublishFolder);OutDir=..\..\$(WebPublishFolder)\bin\" />
</Target>
</Project>
大,非常感謝您的幫助! – Andras 2011-05-29 11:17:04