Sdílet prostřednictvím


Vytvoření vlastní konfigurace sady nástrojů

Sada nástrojů MSBuild obsahuje odkazy na úkoly, cíle a nástroje, které můžete použít k sestavení projektu aplikace. NÁSTROJ MSBuild obsahuje standardní sadu nástrojů, ale můžete také vytvořit vlastní sady nástrojů.

Standardní konfigurace sady nástrojů

Nástroj MSBuild obsahuje standardní sadu Current nástrojů, která odkazuje na aktuální verzi nástroje MSBuild, která je nainstalována do složky MSBuild\Current\Bin v instalačním adresáři sady Visual Studio.

Vlastní definice sady nástrojů

Pokud standardní sada nástrojů nesplňuje vaše požadavky na sestavení, můžete vytvořit vlastní Toolset. Můžete mít například scénář testovacího prostředí sestavení, ve kterém musíte mít samostatný systém pro vytváření projektů C++. Pomocí vlastního Toolset, můžete přiřadit vlastní hodnoty k atributu ToolsVersion při spuštění MSBuild.exe pomocí přepínače příkazového /toolsVersion řádku. Pokud v souboru projektu zadáte ToolsVersion atribut, bude ignorován.

Tímto způsobem můžete také použít vlastnost k importu $(MSBuildToolsPath)souborů .targets z tohoto adresáře a také definování vlastních vlastností sady nástrojů, které lze použít pro jakýkoli projekt, který tuto sadu nástrojů používá.

Zadejte vlastní sadu nástrojů v konfiguračním souboru msBuild.exe (nebo pro vlastní nástroj, který je hostitelem modulu MSBuild, pokud je to to, co používáte). Například konfigurační soubor pro MSBuild.exe může obsahovat následující Toolset definici, pokud chcete definovat sadu nástrojů s názvem MyCustomToolset.

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

<msbuildToolsets> musí být také definován v konfiguračním souboru následujícím způsobem.

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

Poznámka:

Aby bylo možné číst správně, <configSections> musí být první pododdíl v oddílu <configuration> .

ToolsetConfigurationSection je vlastní oddíl konfigurace, který může použít jakýkoli hostitel NÁSTROJE MSBuild pro vlastní konfiguraci. Pokud používáte vlastní sadu nástrojů, nemusí hostitel nic dělat, aby inicializoval modul sestavení s výjimkou položek konfiguračního souboru.

Následující vlastnosti jsou specifické pro hodnotu ToolsVersion , která se používá v projektech:

  • $(MSBuildBinPath) je nastavena na ToolsPath hodnotu, která je zadána buď v registru, nebo v konfiguračním souboru, kde ToolsVersion je definován. Nastavení $(MSBuildToolsPath) v registru nebo konfiguračním souboru určuje umístění základních úloh a cílů. V souboru projektu se tato vlastnost mapuje na vlastnost $(MSBuildBinPath) a také na vlastnost $(MSBuildToolsPath).

  • $(MSBuildToolsPath) je rezervovaná vlastnost, kterou poskytuje vlastnost MSBuildToolsPath, která je určena v konfiguračním souboru. (Tato vlastnost nahrazuje $(MSBuildBinPath). $(MSBuildBinPath) Je však přenesen z důvodu kompatibility.) Vlastní sada nástrojů musí definovat buď $(MSBuildToolsPath) nebo $(MSBuildBinPath) ne obojí, pokud obě nemají stejnou hodnotu.

    Do konfiguračního souboru můžete také přidat vlastní vlastnosti specifické pro ToolsVersion pomocí stejné syntaxe, kterou používáte k přidání vlastnosti MSBuildToolsPath. Pokud chcete zpřístupnit tyto vlastní vlastnosti souboru projektu, použijte stejný název jako název hodnoty zadané v konfiguračním souboru. Sady nástrojů můžete definovat, ale ne dílčí sady nástrojů v konfiguračním souboru.