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, kdeToolsVersion
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.