共用方式為


覆寫 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 的優先順序 (由高至低) 如下:

  1. 用來建置專案的 MSBuild 工作上的 ToolsVersion 屬性 (Attribute) (如果有的話)。

  2. msbuild.exe 上使用的 /tv 參數 (如果有的話) (類似於外部 msbuild 工作)。

  3. 專案檔的 ToolsVersion 屬性。

  4. 組態檔中的預設工具版本。

  5. 登錄中的預設工具版本。

1、2 和 3 與屬性相同:

  • MSBuild 工作上的 Properties 屬性

  • msbuild.exe 上的 /p: 參數

  • 專案檔中的 Property 標記

如果在命令列上建置時沒有指定 /ToolsVersion 的值,Visual Studio 2005 方案會使用 ToolsVersion 值 "2.0" 進行建置,而 Visual Studio 2008 方案會使用 ToolsVersion 值 "3.5" 進行建置。

請參閱

其他資源

MSBuild 概念

建置特定 .NET Framework