Sdílet prostřednictvím


Standardní a vlastní konfigurace sady nástrojů

Sada nástrojů nástroj MSBuild obsahuje odkazy na úkoly, cíle a nástroje, které vám pomohou vytvořit projekt aplikace.Nástroj MSBuild obsahuje standardní sadu nástrojů, ale můžete také vytvořit vlastní modulové.Informace o způsobu určení sada nástrojů naleznete v tématuSada nástrojů MSBuild (atribut ToolsVersion)

Standardní sada nástrojů konfigurace

Nástroj MSBuild 12.0 zahrnuje následující standardní modulové:

ToolsVersion

Sada nástrojů cesty (jak je určeno ve vlastnosti sestavení MSBuildToolsPath nebo MSBuildBinPath)

2.0

Windows installation path\Microsoft.Net\Framework\v2.0.50727\

3.5

Windows installation path\Microsoft.NET\Framework\v3.5\

4.0

Windows installation path\Microsoft.NET\Framework\v4.0.30319\

12.0

%ProgramFiles%\MSBuild\12.0\Bin

ToolsVersion Hodnota určuje, která je používána Toolset projektu, který generuje sada Visual Studio.V Visual Studio 2013 , výchozí hodnota je "12.0" (bez ohledu na to jaké verze zadaná v souboru projektu), ale lze přepsat pomocí atributu /toolsversion přepínač příkazového řádku.Informace o tento atribut a další způsoby, jak určit, ToolsVersion, viz Přepsání nastavení parametru ToolsVersion.

Pokud ToolsVersion není zadán klíč registru HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\<číslo verze>definuje \DefaultToolsVersion ToolsVersion, který je vždy 2.0.

Následující klíče registru určit cestu k instalaci MSBuild.exe.

Klíč registru

Název klíče

Řetězcová hodnota klíče

\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\2.0\

MSBuildToolsPath

Cesta pro instalaci rozhraní.NET Framework 2.0

\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ MSBuild\ToolsVersions\3.5\

MSBuildToolsPath

Cesta pro instalaci rozhraní.NET Framework 3.5

\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ MSBuild\ToolsVersions\4.0\

MSBuildToolsPath

Cesta pro instalaci rozhraní.NET Framework 4

\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ MSBuild\ToolsVersions\12.0\

MSBuildToolsPath

Cesta pro instalaci nástroje MSBuild

Sub modulové

Pokud podklíč klíče registru v předchozí tabulce, MSBuild se používá k určení, že cesta sub-sada nástrojů může přepsat cestu do nadřazené sady nástrojů.Zde je příklad následující podklíč:

\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\12.0\12.0

Pokud žádné vlastnosti jsou definovány v základní sadu nástrojů a vybrané dílčí sadu nástrojů, se používají definice vlastností v sub-sada nástrojů.Například definuje MSBuild 4.0 toolset SDK40ToolsPath přejděte 7.0a SDK, ale MSBuild 4.0\11.0 toolset definuje stejnou vlastnost přejděte 8.0a SDK.Pokud VisualStudioVersion je odstavení, SDK40ToolsPath 7.0a, ale pokud by přejděte na VisualStudioVersion je nastavena na hodnotu 11.0, vlastnost by místo toho přejděte na 8.0a.

VisualStudioVersion Sestavení vlastnost označuje, zda sub-sada nástrojů se stane aktivní.Například VisualStudioVersion Určuje hodnotu "12.0" sub-sada nástrojů MSBuild 12.0.Další informace naleznete v části modulové Sub Sada nástrojů MSBuild (atribut ToolsVersion).

[!POZNÁMKA]

Doporučujeme vyhnout se změnou tohoto nastavení.Můžete však přidat vlastní nastavení a definici vlastní sadu nástrojů platné pro celý počítač, jak popisuje následující části.

Definice vlastních nástrojů

Při standardní sada nástrojů nesplňuje požadavky na sestavení, můžete vytvořit vlastní sadu nástrojů.Může mít například scénář laboratoř sestavení musí mít samostatný systém pro stavební Visual C++ projektů.Pomocí vlastních nástrojů můžete přiřadit vlastní hodnoty a ToolsVersion atribut při vytváření projektů nebo spuštění MSBuild.exe.Tímto způsobem, můžete použít také $(MSBuildToolsPath) vlastnost, kterou chcete importovat TARGETS soubory z tohoto adresáře, jakož i definovat vlastní vlastnosti vlastní sadu nástrojů, které lze použít pro jakýkoli projekt, který používá tuto sadu nástrojů.

Určete vlastní sady nástrojů v konfiguračním souboru MSBuild.exe (nebo pro vlastní nástroj, který je hostitelem MSBuild motoru, pokud je to, co používáte).Například konfiguračního souboru MSBuild.exe mohou zahrnovat následující definice Toolset, pokud si nepřejí přepsat výchozí chování ToolsVersion 12.0.

<msbuildToolsets default="12.0">
   <toolset toolsVersion="12.0">
      <property name="MSBuildToolsPath" 
        value="C:\SpecialPath" />
   </toolset>
</msbuildToolsets>

<msbuildToolsets>musí být definována v konfiguračním souboru takto.

<configSections>
   <section name="msbuildToolsets"       
       Type="Microsoft.Build.BuildEngine.ToolsetConfigurationSection, 
       Microsoft.Build.Engine, Version=12.0.0.0, Culture=neutral, 
       PublicKeyToken=b03f5f7f11d50a3a"
   </section>
</configSections>

[!POZNÁMKA]

Chcete-li správně, přečtěte si <configSections> musí být první část v <configuration> oddílu.

ToolsetConfigurationSectionje vlastní konfigurační oddíl, který lze použít libovolný hostitel MSBuild pro vlastní konfigurace.Pokud používáte vlastní sadu nástrojů, není nutné nijak inicializovat modul sestavení s výjimkou poskytují konfigurační položky souboru hostitele.Definováním položky v registru můžete určit modulové platné pro celý počítač, které se vztahují k MSBuild.exe, Visual Studioa všichni hostitelé MSBuild.

[!POZNÁMKA]

Pokud konfigurační soubor definuje nastavení ToolsVersion , již byla definována v registru, dvě definice nejsou sloučeny.Definice v konfiguračním souboru má přednost a nastavení v registru pro tento ToolsVersion jsou ignorovány.

Následující vlastnosti se vztahují na hodnotu ToolsVersion tedy použité v rámci projektů:

  • $(MSBuildBinPath) je nastavena na hodnotu ToolsPath hodnotu, která je určena v registru nebo v konfiguračním souboru kde ToolsVersion je definován.$(MSBuildToolsPath) Nastavení v registru nebo v konfiguračním souboru Určuje umístění hlavní úkoly a cíle.V souboru projektu to se mapuje na vlastnost $(MSBuildBinPath) a $(MSBuildToolsPath) vlastnosti.

  • $(MSBuildToolsPath)je rezervovaná vlastnost, která pochází ze MSBuildToolsPath vlastnost, která je určena v konfiguračním souboru. (Tato vlastnost nahradí $(MSBuildBinPath).Nicméně $(MSBuildBinPath) je převedena z důvodu kompatibility.) Musíte definovat vlastní sady nástrojů, buď $(MSBuildToolsPath) nebo $(MSBuildBinPath) , ale ne obě, pokud oba mají stejnou hodnotu.

Můžete také přidat vlastní vlastnosti specifické pro ToolsVersion do konfiguračního souboru pomocí stejné syntaxe, které umožňují přidat vlastnost MSBuildToolsPath.Chcete-li zpřístupnit tyto vlastní vlastnosti souboru projektu, můžete použijte stejný název jako název hodnota zadaná v konfiguračním souboru.V konfiguračním souboru můžete definovat modulové ale sub modulové.

Viz také

Koncepty

Sada nástrojů MSBuild (atribut ToolsVersion)