覆寫 ToolsVersion 設定
更新:2007 年 11 月
您可以藉由使用 /ToolsVersion 參數 (簡寫為 /tv) 或 $(ProjectToolsVersion) 屬性,來覆寫專案檔中的 ToolsVersion 設定。例如,在建置方案中的專案時,可以使用不同於其他專案的工具組版本。您也可以使用 ToolsVersion 工作參數覆寫 MSBuild 工作的 ToolsVersion。
如需 ToolsVersion 的詳細資訊,請參閱使用 MSBuild 針對特定 .NET Framework。
在命令列組建覆寫專案的 ToolsVersion 設定
雖然 Visual Studio 2008 專案通常會使用專案檔中所指定的 ToolsVersion 建置,但您可以在命令列上使用 /ToolsVersion (或 /tv) 參數複寫該值,使用不同的工具組建置所有專案以及專案對專案間的相依性。例如:
C:\windows\microsoft.net\framework\v3.5>msbuild.exe someproj.proj /tv:3.5 /p:Configuration=Debug
在這個範例中,所有專案都使用 ToolsVersion 3.5 建置 (但請參閱本主題稍後的「優先順序」一節)。
在命令列上使用 /tv 參數時,您可以選擇在個別專案中使用 $(ProjectToolsVersion) 屬性,以使用不同於方案中其他專案的 ToolsVersion 值來進行建置。
使用 MSBuild 工作的 ToolsVersion 參數覆寫 ToolsVersion 設定
MSBuild 工作是讓專案建置另一個專案的主要方式。為了讓 MSBuild 工作使用不同於專案中所指定的 ToolsVersion 來建置專案,此參數有一個名為 ToolsVersion 的選擇性工作參數。以下是其用法範例:
<MSBuild Projects="MyProject1"
Targets="Build"
Properties="Configuration=Debug"
ToolsVersion="2.0">
<Output TaskParameter="TargetOutputs" ItemName="Outputs" />
</MSBuild>
優先順序
決定專案建置使用 ToolsVersion 的優先順序 (由高至低) 如下:
用來建置專案的 MSBuild 工作上的 ToolsVersion 屬性 (Attribute) (如果有的話)。
msbuild.exe 上使用的 /tv 參數 (如果有的話) (類似於外部 msbuild 工作)。
專案檔的 ToolsVersion 屬性。
組態檔中的預設工具版本。
登錄中的預設工具版本。
1、2 和 3 與屬性相同:
MSBuild 工作上的 Properties 屬性
msbuild.exe 上的 /p: 參數
專案檔中的 Property 標記
如果在命令列上建置時沒有指定 /ToolsVersion 的值,Visual Studio 2005 方案會使用 ToolsVersion 值 "2.0" 進行建置,而 Visual Studio 2008 方案會使用 ToolsVersion 值 "3.5" 進行建置。