Özel Araç Takımı yapılandırması oluşturma

MSBuild araç takımı, uygulama projesi oluşturmak için kullanabileceğiniz görevlere, hedeflere ve araçlara başvurular içerir. MSBuild standart bir araç takımı içerir, ancak özel araç kümeleri de oluşturabilirsiniz.

Standart araç takımı yapılandırmaları

MSBuild, Visual Studio yükleme dizini altındaki MSBuild\Current\Bin klasörüne yüklenen geçerli MSBuild sürümüne başvuran standart araç takımını Current içerir.

Özel araç takımı tanımları

Standart bir Araç Takımı derleme gereksinimlerinizi karşılamadığında, özel Toolsetbir oluşturabilirsiniz. Örneğin, C++ projeleri oluşturmak için ayrı bir sisteme sahip olmanız gereken bir derleme laboratuvarı senaryonuz olabilir. Özel Toolsetbir kullanarak, komut satırı anahtarını kullanarak MSBuild.exe dosyasını çalıştırdığınızda özniteliğine /toolsVersion özel değerler ToolsVersion atayabilirsiniz. Proje dosyasında özniteliğini ToolsVersion belirtirseniz, yoksayılır.

Bunu yaparak, bu dizinden .targets dosyalarını içeri aktarmak ve bu Araç Takımını kullanan herhangi bir proje için kullanılabilecek kendi özel Araç Takımı özelliklerinizi tanımlamak için özelliğini de kullanabilirsiniz$(MSBuildToolsPath).

MSBuild.exe için yapılandırma dosyasında (veya msbuild altyapısını barındıran özel araç için kullanıyorsanız) özel bir Araç Kümesi belirtin. Örneğin, MsBuild.exe için yapılandırma dosyası, MyCustomToolset adlı bir araç takımı tanımlamak isterseniz aşağıdaki Toolset tanımı içerebilir.

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

<msbuildToolsets> yapılandırma dosyasında da aşağıdaki gibi tanımlanmalıdır.

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

Dekont

Doğru <configSections> okunabilmesi için bölümdeki ilk alt bölüm <configuration> olması gerekir.

ToolsetConfigurationSection , herhangi bir MSBuild konağı tarafından özel yapılandırma için kullanılabilen özel bir yapılandırma bölümüdür. Özel bir Araç Takımı kullanıyorsanız, yapılandırma dosyası girdilerini sağlamak dışında bir konağın derleme altyapısını başlatmak için herhangi bir işlem yapması gerekmez.

Aşağıdaki özellikler, projelerde kullanılan değerine ToolsVersion özgüdür:

  • $(MSBuildBinPath), kayıt defterinde veya öğesinin tanımlandığı yapılandırma dosyasında belirtilen değere ToolsVersion ayarlanırToolsPath. $(MSBuildToolsPath) Kayıt defterindeki veya yapılandırma dosyasındaki ayar, çekirdek görevlerin ve hedeflerin konumunu belirtir. Proje dosyasında bu, $(MSBuildBinPath) özelliğine ve ayrıca $(MSBuildToolsPath) özelliğine eşler.

  • $(MSBuildToolsPath) , yapılandırma dosyasında belirtilen MSBuildToolsPath özelliği tarafından sağlanan ayrılmış bir özelliktir. (Bu özellik öğesinin yerini alır $(MSBuildBinPath). Ancak, $(MSBuildBinPath) uyumluluk için ileriye taşınır.) Her ikisi de aynı değere sahip olmadığı sürece özel bir Araç Takımı her ikisini de $(MSBuildToolsPath) tanımlamalı veya $(MSBuildBinPath) tanımlamamalıdır.

    Ayrıca, MSBuildToolsPath özelliğini eklemek için kullandığınız söz dizimini kullanarak yapılandırma dosyasına Özel, ToolsVersion'a özgü özellikler de ekleyebilirsiniz. Bu özel özellikleri proje dosyasında kullanılabilir hale getirmek için yapılandırma dosyasında belirtilen değerin adıyla aynı adı kullanın. Araç Kümeleri tanımlayabilirsiniz, ancak yapılandırma dosyasında alt araç kümeleri tanımlanmaz.