MSBuild ayrılmış ve tanınmış özellikleri

MSBuild, proje dosyası ve MSBuild ikili dosyaları hakkındaki bilgileri depolayan önceden tanımlanmış özellikler kümesi sağlar. Bu özellikler, diğer MSBuild özellikleriyle aynı şekilde değerlendirilir. Örneğin, özelliğini kullanmak MSBuildProjectFile için yazın $(MSBuildProjectFile).

MSBuild, ayrılmış ve iyi bilinen özellikleri önceden tanımlanmış olarak ayarlamak için aşağıdaki tabloda yer alan değerleri kullanır. Ayrılmış özellikler geçersiz kılınamaz ve gelişmiş senaryolar dışında iyi bilinen özelliklerin çoğu geçersiz kılınmamalıdır.

Ayrılmış ve iyi bilinen özellikler

Bu bölümdeki tabloda MSBuild önceden tanımlanmış özellikler gösterilmektedir. Tablodaki örnek sütun, konumunda C:\Source\Repos\ConsoleApp1\ConsoleApp1olduğu varsayılan aşağıdaki örnek proje dosyasıyla ilgilidir ve MSBuild özel komut satırı seçenekleri olmadan çağrıldığında bu özelliklerin proje dosyasında erişildiğinde sahip olduğu değerlerin bir örneğini gösterir.

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>netcoreapp3.1</TargetFramework>
  </PropertyGroup>
</Project>
Özellik Ayrılmış veya iyi bilinen Tanım Örnek
FrameworkSDKRoot Tanın -mış .NET Framework araçları için kök klasörün yolu. C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\
InnerBuildProperty Tanın -mış Çoklu hedef oluşturma derleme boyutunu tanımlayan özellik adını belirtir (yalnızca geçerli derleme bir graf derlemesiyse geçerlidir). TargetFramework
InnerBuildPropertyValues Tanın -mış için InnerBuildProperty olası değerleri tutan özellik adını belirtir (yalnızca geçerli derleme bir graf derlemesiyse geçerlidir). TargetFrameworks
IsGraphBuild Tanın -mış True bu bir grafik derlemesiyse, yani -graphBuild seçenek etkindir. Bu seçenek, MSBuild'in bir proje grafı oluşturup derlediğini gösterir. Grafik oluşturmak, form bağımlılıklarına yönelik proje başvurularını tanımlamayı içerir. Bu grafiğin oluşturulması, geleneksel MSBuild zamanlamasından farklı olarak, bunlara başvuran projelerden önce proje başvuruları derlemeyi içerir.
MSBuildAssemblyVersion Ayrıldı Projeyi derlemek için kullanılan MSBuild derlemelerinin sürümü. 16.0
MSBuildBinPath Ayrıldı Kullanılmakta olan MSBuild ikili dosyalarının bulunduğu klasörün mutlak yolu (örneğin, C:\Windows\Microsoft.Net\Framework\<versionNumber>). BU özellik, MSBuild dizinindeki dosyalara başvurmanız gerekiyorsa kullanışlıdır.

Bu özelliğe son ters eğik çizgiyi eklemeyin.
C:\Program Files (x86)\Microsoft Visual Studio\2019\MSBuild\Current\Bin
MSBuildDisableFeaturesFromVersion Ayrıldı MSBuild ve Microsoft SDK'ları tarafından değişiklik dalgalarını yönetmek için kullanılır.
MSBuildExtensionsPath Tanın -mış .NET Framework 4'te kullanıma sunulmuştur: ve MSBuildExtensionsPath32varsayılan değerleri MSBuildExtensionsPath arasında fark yoktur. Önceki sürümlerde varsayılan değerinin davranışını etkinleştirmek için ortam değişkenini MSBUILDLEGACYEXTENSIONSPATH null olmayan bir değere MSBuildExtensionsPath ayarlayabilirsiniz.

.NET Framework 3.5 ve önceki sürümlerinde, varsayılan değeri MSBuildExtensionsPath geçerli işlemin bit değerine bağlı olarak \Program Files\ veya \Program Files (x86) klasörünün altındaki MSBuild alt klasörünün yolunu gösterir. Örneğin, 64 bit makinedeki 32 bit işlem için bu özellik \Program Files (x86) klasörüne işaret eder. 64 bit makinedeki 64 bit işlem için bu özellik \Program Files klasörüne işaret eder.

Bu özelliğe son ters eğik çizgiyi eklemeyin.

Bu konum, özel hedef dosyaları yerleştirmek için kullanışlı bir yerdir. Örneğin, hedef dosyalarınız \Program Files\MSBuild\MyFiles\Northwind.targets konumunda yüklenebilir ve sonra şu XML kodu kullanılarak proje dosyalarına içeri aktarılabilir:

<Import Project="$(MSBuildExtensionsPath)\MyFiles\Northwind.targets"/>
C:\Program Files (x86)\Microsoft Visual Studio\2019\MSBuild
MSBuildExtensionsPath32 Tanın -mış \Program Files veya \Program Files (x86) klasörünün altındaki MSBuild alt klasörünün yolu. Yol her zaman 32 bit makinedeki 32 bit \Program Files (x86) klasörüne ve 64 bit makinede \Program Files klasörüne işaret eder." Ayrıca MSBuildExtensionsPath bkz. ve MSBuildExtensionsPath64.

Bu özelliğe son ters eğik çizgiyi eklemeyin.
C:\Program Files (x86)\Microsoft Visual Studio\2019\MSBuild
MSBuildExtensionsPath64 Tanın -mış \Program Files klasörünün altındaki MSBuild alt klasörünün yolu. 64 bit makine için bu yol her zaman \Program Files klasörünü gösterir. 32 bit makine için bu yol boş olur. Ayrıca MSBuildExtensionsPath bkz. ve MSBuildExtensionsPath32.

Bu özelliğe son ters eğik çizgiyi eklemeyin.
C:\Program Files\MSBuild
MSBuildFileVersion Ayrıldı Projeyi derlemek için kullanılan MSBuild derlemelerinin 4 bölümü. 16.11.0.30701
MSBuildFrameworkToolsPath Tanın -mış MSBuild'i yürütmekte olan .NET Framework araçlarının yolu, sonunda eğik çizgi ile oluşturulmuştu. C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\
MSBuildFrameworkToolsPath32 Tanın -mış MSBuild'i yürütmekte olan aynı çerçeve sürümü için .NET Framework araçlarının 32 bit sürümünün yolu, sonunda eğik çizgi ile oluşturulmuştu. C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\
MSBuildFrameworkToolsPath64 Tanın -mış MSBuild'i yürütmekte olan aynı çerçeve sürümü için .NET Framework araçlarının 64 bit sürümünün yolu, sonunda eğik çizgi ile oluşturulmuştu. C:\WINDOWS\Microsoft.NET\Framework64\v4.0.30319\
MSBuildInteractive Ayrıldı true MSBuild etkileşimli olarak çalışıyorsa, kullanıcı girişlerine izin verir. Bu ayar komut satırı seçeneği tarafından -interactive denetlenur. false
MSBuildLastTaskResult Ayrıldı true önceki görev hata olmadan tamamlandıysa (uyarı olsa bile) veya false önceki görevde hatalar varsa. Genellikle, bir görevde hata oluştuğunda, hata bu projede gerçekleşen son şeydir. Bu nedenle, bu özelliğin değeri şu senaryolar dışında hiçbir zaman falsedeğeri değildir:

ContinueOnError- Task öğesinin (MSBuild) özniteliği (veya ) veya trueErrorAndContinueolarak WarnAndContinue ayarlandığında.

- Alt öğe olarak onError öğesi (MSBuild) olduğundaTarget.
true
MSBuildNodeCount Ayrıldı Derleme sırasında kullanılan en fazla eşzamanlı işlem sayısı. Bu, komut satırında -maxcpucount için belirttiğiniz değerdir. -maxcpucount değerini bir değer belirtmeden belirttiyseniz, MSBuildNodeCount bilgisayardaki işlemci sayısını belirtir. Daha fazla bilgi için bkz . Komut satırı başvurusu ve Paralel olarak birden çok proje oluşturma. Kategori 1
MSBuildOverrideTasksPath Tanın -mış Standart görevlerin özel sürümlerini sağlamak için .overridetasks kullanılabilecek dosyaların aranacağı konum. Bkz. MSBuild görevleri.

Yola son ters eğik çizgiyi eklemeyin.
MSBuildProgramFiles32 Ayrıldı 32 bit program klasörünün konumu; örneğin, C:\Program Files (x86).

Bu özelliğe son ters eğik çizgiyi eklemeyin.
C:\Program Files (x86)
MSBuildProjectDefaultTargets Ayrıldı öğesinin özniteliğinde Project belirtilen hedeflerin DefaultTargets tam listesi. Örneğin, aşağıdaki Project öğenin bir özellik değeri A;B;ColacaktırMSBuildDefaultTargets:

<Project DefaultTargets="A;B;C" >
Build
MSBuildProjectDirectory Ayrıldı Proje dosyasının bulunduğu dizinin mutlak yolu, örneğin C:\MyCompany\MyProduct.

Bu özelliğe son ters eğik çizgiyi eklemeyin.
C:\Source\Repos\ConsoleApp1\ConsoleApp1
MSBuildProjectDirectoryNoRoot Ayrıldı Kök sürücü hariç özelliğinin değeri MSBuildProjectDirectory .

Bu özelliğe son ters eğik çizgiyi eklemeyin.
Source\Repos\ConsoleApp1\ConsoleApp1
MSBuildProjectExtension Ayrıldı Dönem de dahil olmak üzere proje dosyasının dosya adı uzantısı; örneğin, .proj. .csproj
MSBuildProjectFile Ayrıldı Dosya adı uzantısı dahil olmak üzere proje dosyasının tam dosya adı; örneğin, MyApp.proj. ConsoleApp1.csproj
MSBuildProjectFullPath Ayrıldı Dosya adı uzantısı dahil olmak üzere proje dosyasının mutlak yolu ve tam dosya adı; örneğin, C:\MyCompany\MyProduct\MyApp.proj. c:\Source\Repos\ConsoleApp1\ConsoleApp1\ConsoleApp1.csproj
MSBuildProjectName Ayrıldı Dosya adı uzantısı olmayan proje dosyasının dosya adı; örneğin, MyApp. ConsoleApp1
MSBuildRuntimeType Ayrıldı Şu anda yürütülmekte olan çalışma zamanının türü. MSBuild 15'te kullanıma sunulmuştur. Değer tanımlanmamış olabilir (MSBuild 15'den önce), Full MSBuild'in masaüstü .NET Framework'te çalıştığını, Core MSBuild'in .NET Core üzerinde çalıştığını (örneğin , ) veya Mono MSBuild'in dotnet buildMono üzerinde çalıştığını gösterir. Full
MSBuildSDKsPath Tanın -mış MSBuild'in SDK'ları bulmak için kullandığı yol. C:\Program Files (x86)\Microsoft Visual Studio\2019\MSBuild\Sdks
MSBuildSemanticVersion Ayrıldı Projeyi derlemek için kullanılan MSBuild derlemelerinin tam semver 2.0 sürümü. 16.11.0-preview-21302-05+5e37cc992
MSBuildStartupDirectory Ayrıldı MSBuild'in çağrıldığı klasörün mutlak yolu. Bu özelliği kullanarak, her dizinde dirs.proj> dosyaları oluşturmadan <proje ağacında belirli bir noktanın altındaki her şeyi oluşturabilirsiniz. Bunun yerine, burada gösterildiği gibi tek bir projeniz vardır; örneğin, c:\traversal.proj:

<Project ...> <ItemGroup> <ProjectFiles Include="$ (MSBuildStartupDirectory) **\*.csproj"/> </ItemGroup> <Target Name="build"> <MSBuild Projects="@(ProjectFiles)"/> </Target> </Project>

Ağaçta herhangi bir noktada derlemek için şunu yazın:

msbuild c:\traversal.proj

Bu özelliğe son ters eğik çizgiyi eklemeyin.
c:\Source\Repos\ConsoleApp1
MSBuildThisFile Ayrıldı dosyasının dosya adı ve dosya uzantısı bölümü MSBuildThisFileFullPath. ConsoleApp1.csproj
MSBuildThisFileDirectory Ayrıldı dizininin MSBuildThisFileFullPathdizin bölümü.

Yola son ters eğik çizgiyi ekleyin.
c:\Source\Repos\ConsoleApp1\ConsoleApp1\
MSBuildThisFileDirectoryNoRoot Ayrıldı kök sürücü hariç, dizinin dizin bölümü MSBuildThisFileFullPath.

Yola son ters eğik çizgiyi ekleyin.
Source\Repos\ConsoleApp1\ConsoleApp1\
MSBuildThisFileExtension Ayrıldı dosyasının dosya adı uzantısı bölümü MSBuildThisFileFullPath. .csproj
MSBuildThisFileFullPath Ayrıldı Çalışmakta olan hedefi içeren projenin veya hedef dosyasının mutlak yolu.

İpucu: Hedef dosyasında, özgün proje dosyasına göre değil, hedefler dosyasına göre göreli bir yol belirtebilirsiniz.
c:\Source\Repos\ConsoleApp1\ConsoleApp1\ConsoleApp1.csproj
MSBuildThisFileName Ayrıldı dosya adı uzantısı olmadan dosyasının dosya adı bölümü MSBuildThisFileFullPath. ConsoleApp1
MSBuildToolsPath Ayrıldı değeriyle MSBuildToolsVersionilişkili MSBuild sürümünün yükleme yolu.

Yola son ters eğik çizgiyi eklemeyin.

Bu özellik geçersiz kılınamaz.
C:\Program Files (x86)\Microsoft Visual Studio\2019\MSBuild\Current\Bin\
MSBuildToolsPath32 Tanın -mış değeriyle MSBuildToolsVersionilişkili 32 bit MSBuild sürümünün yükleme yolu.

Yola son ters eğik çizgiyi eklemeyin.

Bu özellik geçersiz kılınamaz.
C:\Program Files (x86)\Microsoft Visual Studio\2019\MSBuild\Current\Bin
MSBuildToolsPath64 Tanın -mış değeriyle MSBuildToolsVersionilişkili 64 bit MSBuild sürümünün yükleme yolu.

Yola son ters eğik çizgiyi eklemeyin.

Bu özellik geçersiz kılınamaz.
C:\Program Files (x86)\Microsoft Visual Studio\2019\MSBuild\Current\Bin\amd64
MSBuildToolsVersion Ayrıldı Projeyi derlemek için kullanılan MSBuild Araç Takımı sürümü.

Not: MSBuild Araç Takımı, uygulama oluşturmak için kullanılan görevlerden, hedeflerden ve araçlardan oluşur. Araçlar csc.exe ve vbc.exe gibi derleyicileri içerir. Daha fazla bilgi için bkz . Araç Takımı (ToolsVersion), Standart ve özel Araç Takımı yapılandırmaları.
Current
MSBuildUserExtensionsPath Tanın -mış Bu yol, MSBuild yükleme klasörünün konumunu sağlar. Yerel, kullanıcı başına özelleştirmeler sağlamak için sıfırlanabilir. Bkz. Yerel derlemenizi özelleştirme.

Yola son ters eğik çizgiyi eklemeyin.
MSBuildVersion Ayrıldı Projeyi derlemek için kullanılan MSBuild sürümü.

Bu özellik geçersiz kılınamaz, aksi takdirde hata iletisi MSB4004 - The 'MSBuildVersion' property is reserved, and can not be modified. döndürülür.
16.11.0
MSBuildWarningsAsErrors Tanın -mış Hata olarak ele almak için uyarı kodlarının listesi. MSB1234;MSB5678
MSBuildWarningsAsMessages Tanın -mış İleti olarak ele almak için uyarı kodlarının listesi. MSB1234;MSB5678
MSBuildWarningsNotAsErrors Tanın -mış Anahtar diğer tüm uyarıları hatalara yükseltecek şekilde ayarlanmış olsa -warnAsError bile hatalara yükseltilmemesi gereken uyarı kodlarının listesi. Bu doğru değilse hiçbir etkisi olmadığını unutmayın. MSB1234;MSB5678
OS Tanın -mış Windows'da bu, konak işletim sisteminden devralınır. Olası değerler arasında "Windows_NT" ve "Unix" bulunur; , Windows dışındaki işletim sistemlerinde farklı değerlere ayarlanabilir.
RoslynTargetsPath Tanın -mış Roslyn derleyicilerinin yolu. C:\Program Files\Microsoft Visual Studio\2019\MSBuild\Current\Bin\Roslyn
SDK35ToolsPath Tanın -mış .NET Framework 3.5 araçlarının yolu.
SDK40ToolsPath Tanın -mış .NET Framework 4.0 araçlarının yolu. C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\
VsInstallRoot Tanın -mış Visual Studio yükleme klasörü. C:\Program Files (x86)\Microsoft Visual Studio\2019
WindowsSDK80Path Tanın -mış
Özellik Ayrılmış veya iyi bilinen Tanım Örnek
FrameworkSDKRoot Tanın -mış .NET Framework araçları için kök klasörün yolu. C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\
InnerBuildProperty Tanın -mış Çoklu hedef oluşturma derleme boyutunu tanımlayan özellik adını belirtir (yalnızca geçerli derleme bir graf derlemesiyse geçerlidir). TargetFramework
InnerBuildPropertyValues Tanın -mış için InnerBuildProperty olası değerleri tutan özellik adını belirtir (yalnızca geçerli derleme bir graf derlemesiyse geçerlidir). TargetFrameworks
IsGraphBuild Tanın -mış True bu bir grafik derlemesiyse, yani -graphBuild seçenek etkindir. Bu seçenek, MSBuild'in bir proje grafı oluşturup derlediğini gösterir. Grafik oluşturmak, form bağımlılıklarına yönelik proje başvurularını tanımlamayı içerir. Bu grafiğin oluşturulması, geleneksel MSBuild zamanlamasından farklı olarak, bunlara başvuran projelerden önce proje başvuruları derlemeyi içerir.
MSBuildAssemblyVersion Ayrıldı Projeyi derlemek için kullanılan MSBuild derlemelerinin sürümü. 17,0
MSBuildBinPath Ayrıldı Kullanılmakta olan MSBuild ikili dosyalarının bulunduğu klasörün mutlak yolu (örneğin, C:\Windows\Microsoft.Net\Framework\<versionNumber>). BU özellik, MSBuild dizinindeki dosyalara başvurmanız gerekiyorsa kullanışlıdır.

Bu özelliğe son ters eğik çizgiyi eklemeyin.
C:\Program Files\Microsoft Visual Studio\2022\MSBuild\Current\Bin\amd64
MSBuildDisableFeaturesFromVersion Ayrıldı MSBuild ve Microsoft SDK'ları tarafından değişiklik dalgalarını yönetmek için kullanılır.
MSBuildExtensionsPath Tanın -mış .NET Framework 4'te kullanıma sunulmuştur: ve MSBuildExtensionsPath32varsayılan değerleri MSBuildExtensionsPath arasında fark yoktur. Önceki sürümlerde varsayılan değerinin davranışını etkinleştirmek için ortam değişkenini MSBUILDLEGACYEXTENSIONSPATH null olmayan bir değere MSBuildExtensionsPath ayarlayabilirsiniz.

.NET Framework 3.5 ve önceki sürümlerinde, varsayılan değeri MSBuildExtensionsPath geçerli işlemin bit değerine bağlı olarak \Program Files\ veya \Program Files (x86) klasörünün altındaki MSBuild alt klasörünün yolunu gösterir. Örneğin, 64 bit makinedeki 32 bit işlem için bu özellik \Program Files (x86) klasörüne işaret eder. 64 bit makinedeki 64 bit işlem için bu özellik \Program Files klasörüne işaret eder.

Bu özelliğe son ters eğik çizgiyi eklemeyin.

Bu konum, özel hedef dosyaları yerleştirmek için kullanışlı bir yerdir. Örneğin, hedef dosyalarınız \Program Files\MSBuild\MyFiles\Northwind.targets konumunda yüklenebilir ve sonra şu XML kodu kullanılarak proje dosyalarına içeri aktarılabilir:

<Import Project="$(MSBuildExtensionsPath)\MyFiles\Northwind.targets"/>
C:\Program Files\Microsoft Visual Studio\2022\MSBuild
MSBuildExtensionsPath32 Tanın -mış \Program Files veya \Program Files (x86) klasörünün altındaki MSBuild alt klasörünün yolu. Yol her zaman 32 bit makinedeki 32 bit \Program Files (x86) klasörüne ve 64 bit makinede \Program Files klasörüne işaret eder." Ayrıca MSBuildExtensionsPath bkz. ve MSBuildExtensionsPath64.

Bu özelliğe son ters eğik çizgiyi eklemeyin.
C:\Program Files\Microsoft Visual Studio\2022\MSBuild
MSBuildExtensionsPath64 Tanın -mış \Program Files klasörünün altındaki MSBuild alt klasörünün yolu. 64 bit makine için bu yol her zaman \Program Files klasörünü gösterir. 32 bit makine için bu yol boş olur. Ayrıca MSBuildExtensionsPath bkz. ve MSBuildExtensionsPath32.

Bu özelliğe son ters eğik çizgiyi eklemeyin.
C:\Program Files\MSBuild
MSBuildFileVersion Ayrıldı Projeyi derlemek için kullanılan MSBuild derlemelerinin 4 bölümü. 17.4.0.46505
MSBuildFrameworkToolsPath Tanın -mış MSBuild'i yürütmekte olan .NET Framework araçlarının yolu, sonunda eğik çizgi ile oluşturulmuştu. C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\
MSBuildFrameworkToolsPath32 Tanın -mış MSBuild'i yürütmekte olan aynı çerçeve sürümü için .NET Framework araçlarının 32 bit sürümünün yolu, sonunda eğik çizgi ile oluşturulmuştu. C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\
MSBuildFrameworkToolsPath64 Tanın -mış MSBuild'i yürütmekte olan aynı çerçeve sürümü için .NET Framework araçlarının 64 bit sürümünün yolu, sonunda eğik çizgi ile oluşturulmuştu. C:\WINDOWS\Microsoft.NET\Framework64\v4.0.30319\
MSBuildInteractive Ayrıldı true MSBuild etkileşimli olarak çalışıyorsa, kullanıcı girişlerine izin verir. Bu ayar komut satırı seçeneği tarafından -interactive denetlenur. false
MSBuildLastTaskResult Ayrıldı true önceki görev hata olmadan tamamlandıysa (uyarı olsa bile) veya false önceki görevde hatalar varsa. Genellikle, bir görevde hata oluştuğunda, hata bu projede gerçekleşen son şeydir. Bu nedenle, bu özelliğin değeri şu senaryolar dışında hiçbir zaman falsedeğeri değildir:

ContinueOnError- Task öğesinin (MSBuild) özniteliği (veya ) veya trueErrorAndContinueolarak WarnAndContinue ayarlandığında.

- Alt öğe olarak onError öğesi (MSBuild) olduğundaTarget.
true
MSBuildNodeCount Ayrıldı Derleme sırasında kullanılan en fazla eşzamanlı işlem sayısı. Bu, komut satırında -maxcpucount için belirttiğiniz değerdir. -maxcpucount değerini bir değer belirtmeden belirttiyseniz, MSBuildNodeCount bilgisayardaki işlemci sayısını belirtir. Daha fazla bilgi için bkz . Komut satırı başvurusu ve Paralel olarak birden çok proje oluşturma. Kategori 1
MSBuildOverrideTasksPath Tanın -mış Standart görevlerin özel sürümlerini sağlamak için .overridetasks kullanılabilecek dosyaların aranacağı konum. Bkz. MSBuild görevleri.

Yola son ters eğik çizgiyi eklemeyin.
MSBuildProgramFiles32 Ayrıldı 32 bit program klasörünün konumu; örneğin, C:\Program Files (x86).

Bu özelliğe son ters eğik çizgiyi eklemeyin.
C:\Program Files (x86)
MSBuildProjectDefaultTargets Ayrıldı öğesinin özniteliğinde Project belirtilen hedeflerin DefaultTargets tam listesi. Örneğin, aşağıdaki Project öğenin bir özellik değeri A;B;ColacaktırMSBuildDefaultTargets:

<Project DefaultTargets="A;B;C" >
Build
MSBuildProjectDirectory Ayrıldı Proje dosyasının bulunduğu dizinin mutlak yolu, örneğin C:\MyCompany\MyProduct.

Bu özelliğe son ters eğik çizgiyi eklemeyin.
C:\Source\Repos\ConsoleApp1\ConsoleApp1
MSBuildProjectDirectoryNoRoot Ayrıldı Kök sürücü hariç özelliğinin değeri MSBuildProjectDirectory .

Bu özelliğe son ters eğik çizgiyi eklemeyin.
Source\Repos\ConsoleApp1\ConsoleApp1
MSBuildProjectExtension Ayrıldı Dönem de dahil olmak üzere proje dosyasının dosya adı uzantısı; örneğin, .proj. .csproj
MSBuildProjectFile Ayrıldı Dosya adı uzantısı dahil olmak üzere proje dosyasının tam dosya adı; örneğin, MyApp.proj. ConsoleApp1.csproj
MSBuildProjectFullPath Ayrıldı Dosya adı uzantısı dahil olmak üzere proje dosyasının mutlak yolu ve tam dosya adı; örneğin, C:\MyCompany\MyProduct\MyApp.proj. c:\Source\Repos\ConsoleApp1\ConsoleApp1\ConsoleApp1.csproj
MSBuildProjectName Ayrıldı Dosya adı uzantısı olmayan proje dosyasının dosya adı; örneğin, MyApp. ConsoleApp1
MSBuildRuntimeType Ayrıldı Şu anda yürütülmekte olan çalışma zamanının türü. MSBuild 15'te kullanıma sunulmuştur. Değer tanımlanmamış olabilir (MSBuild 15'den önce), Full MSBuild'in masaüstü .NET Framework'te çalıştığını, Core MSBuild'in .NET Core üzerinde çalıştığını (örneğin , ) veya Mono MSBuild'in dotnet buildMono üzerinde çalıştığını gösterir. Full
MSBuildStartupDirectory Ayrıldı MSBuild'in çağrıldığı klasörün mutlak yolu. Bu özelliği kullanarak, her dizinde dirs.proj> dosyaları oluşturmadan <proje ağacında belirli bir noktanın altındaki her şeyi oluşturabilirsiniz. Bunun yerine, burada gösterildiği gibi tek bir projeniz vardır; örneğin, c:\traversal.proj:

<Project ...> <ItemGroup> <ProjectFiles Include="$ (MSBuildStartupDirectory) **\*.csproj"/> </ItemGroup> <Target Name="build"> <MSBuild Projects="@(ProjectFiles)"/> </Target> </Project>

Ağaçta herhangi bir noktada derlemek için şunu yazın:

msbuild c:\traversal.proj

Bu özelliğe son ters eğik çizgiyi eklemeyin.
c:\Source\Repos\ConsoleApp1
MSBuildThisFile Ayrıldı dosyasının dosya adı ve dosya uzantısı bölümü MSBuildThisFileFullPath. ConsoleApp1.csproj
MSBuildThisFileDirectory Ayrıldı dizininin MSBuildThisFileFullPathdizin bölümü.

Yola son ters eğik çizgiyi ekleyin.
c:\Source\Repos\ConsoleApp1\ConsoleApp1\
MSBuildThisFileDirectoryNoRoot Ayrıldı kök sürücü hariç, dizinin dizin bölümü MSBuildThisFileFullPath.

Yola son ters eğik çizgiyi ekleyin.
Source\Repos\ConsoleApp1\ConsoleApp1\
MSBuildThisFileExtension Ayrıldı dosyasının dosya adı uzantısı bölümü MSBuildThisFileFullPath. .csproj
MSBuildThisFileFullPath Ayrıldı Çalışmakta olan hedefi içeren projenin veya hedef dosyasının mutlak yolu.

İpucu: Hedef dosyasında, özgün proje dosyasına göre değil, hedefler dosyasına göre göreli bir yol belirtebilirsiniz.
c:\Source\Repos\ConsoleApp1\ConsoleApp1\ConsoleApp1.csproj
MSBuildThisFileName Ayrıldı dosya adı uzantısı olmadan dosyasının dosya adı bölümü MSBuildThisFileFullPath. ConsoleApp1
MSBuildToolsPath Ayrıldı değeriyle MSBuildToolsVersionilişkili MSBuild sürümünün yükleme yolu.

Yola son ters eğik çizgiyi eklemeyin.

Bu özellik geçersiz kılınamaz.
C:\Program Files\Microsoft Visual Studio\2022\MSBuild\Current\Bin\amd64
MSBuildToolsPath32 Tanın -mış değeriyle MSBuildToolsVersionilişkili 32 bit MSBuild sürümünün yükleme yolu.

Yola son ters eğik çizgiyi eklemeyin.

Bu özellik geçersiz kılınamaz.
C:\Program Files\Microsoft Visual Studio\2022\MSBuild\Current\Bin
MSBuildToolsPath64 Tanın -mış değeriyle MSBuildToolsVersionilişkili 64 bit MSBuild sürümünün yükleme yolu.

Yola son ters eğik çizgiyi eklemeyin.

Bu özellik geçersiz kılınamaz.
C:\Program Files\Microsoft Visual Studio\2022\MSBuild\Current\Bin\amd64
MSBuildToolsVersion Ayrıldı Projeyi derlemek için kullanılan MSBuild Araç Takımı sürümü.

Not: MSBuild Araç Takımı, uygulama oluşturmak için kullanılan görevlerden, hedeflerden ve araçlardan oluşur. Araçlar csc.exe ve vbc.exe gibi derleyicileri içerir. Daha fazla bilgi için bkz . Araç Takımı (ToolsVersion), Standart ve özel Araç Takımı yapılandırmaları.
Current
MSBuildSDKsPath Tanın -mış MSBuild'in SDK'ları bulmak için kullandığı yol. C:\Program Files\Microsoft Visual Studio\2022\MSBuild\Sdks
MSBuildSemanticVersion Ayrıldı Projeyi derlemek için kullanılan MSBuild derlemelerinin tam semver 2.0 sürümü. 17.4.0-önizleme-22465-05+6033e4c95
MSBuildUserExtensionsPath Tanın -mış Bu yol, MSBuild yükleme klasörünün konumunu sağlar. Yerel, kullanıcı başına özelleştirmeler sağlamak için sıfırlanabilir. Bkz. Yerel derlemenizi özelleştirme.

Yola son ters eğik çizgiyi eklemeyin.
MSBuildVersion Ayrıldı Projeyi derlemek için kullanılan MSBuild sürümü.

Bu özellik geçersiz kılınamaz, aksi takdirde hata iletisi MSB4004 - The 'MSBuildVersion' property is reserved, and can not be modified. döndürülür.
17.4.0
MSBuildWarningsAsErrors Tanın -mış Hata olarak ele almak için uyarı kodlarının listesi. MSB1234;MSB5678
MSBuildWarningsAsMessages Tanın -mış İleti olarak ele almak için uyarı kodlarının listesi. MSB1234;MSB5678
MSBuildWarningsNotAsErrors Tanın -mış Anahtar diğer tüm uyarıları hatalara yükseltecek şekilde ayarlanmış olsa -warnAsError bile hatalara yükseltilmemesi gereken uyarı kodlarının listesi. Bu doğru değilse hiçbir etkisi olmadığını unutmayın. MSB1234;MSB5678
OS Tanın -mış Windows'da bu, konak işletim sisteminden devralınır. Olası değerler arasında "Windows_NT" ve "Unix" bulunur; , Windows dışındaki işletim sistemlerinde farklı değerlere ayarlanabilir.
RoslynTargetsPath Tanın -mış Roslyn derleyicileri için hedeflerin yolu. C:\Program Files\Microsoft Visual Studio\2022\MSBuild\Current\Bin\Roslyn
SDK35ToolsPath Tanın -mış .NET Framework 3.5 araçlarının yolu.
SDK40ToolsPath Tanın -mış .NET Framework 4.0 araçlarının yolu. C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\
VsInstallRoot Tanın -mış Visual Studio yükleme klasörü. C:\Program Files\Microsoft Visual Studio\2022
WindowsSDK80Path Tanın -mış Windows 8 SDK'sının yolu.

C++ projelerine özgü özellikler

Aşağıdaki özellikler, çeşitli C++ araç takımı sürümleri ve hedef işletim sistemleri için ve .targets dosyaları gibi .props C++ MSBuild içeri aktarma dosyalarının yolunu temsil ediyor. Bu klasörlerdeki dosyalar C++ derleme altyapısını temsil edilir ve MSBuild ile herhangi bir C++ projesi oluşturmak için gereklidir.

Özellik Ayrılmış veya iyi bilinen Tanım Örnek
AndroidTargetsPath Tanın -mış Android derlemeleri için C++ MSBuild içeri aktarma dosyalarının yolu. C:\Program Files\Microsoft Visual Studio\2022\MSBuild\Microsoft\MDD\Android\V150\
iOSTargetsPath Tanın -mış iOS derlemeleri için C++ MSBuild içeri aktarma dosyalarının yolu. C:\Program Files\Microsoft Visual Studio\2022\Preview\MSBuild\Microsoft\MDD\iOS\V150\
VCTargetsPath Tanın -mış C++ derleme sistemini destekleyen C++ MSBuild dosyalarının yolu. C:\Program Files\Microsoft Visual Studio\2022\MSBuild\Microsoft\VC\v170\
VCTargetsPath10 Tanın -mış Visual Studio 2010 araç takımını destekleyen C++ MSBuild dosyalarının yolu. C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\
VCTargetsPath11 Tanın -mış Visual Studio 2012 (V110) araç takımı için MSBuild içeri aktarma dosyalarının yolu. C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V110\
VCTargetsPath12 Tanın -mış Visual Studio 2013 (V120) araç takımı için MSBuild içeri aktarma dosyalarının yolu. C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\
VCTargetsPath14 Tanın -mış Visual Studio 2015 (V140) araç takımı için MSBuild içeri aktarma dosyalarının yolu. C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\

MSBuild öğeleriyle çakışan adlar

Yukarıdakilere ek olarak, MSBuild dil öğelerine karşılık gelen adlar kullanıcı tanımlı özellikler, öğeler veya öğe meta verileri için kullanılamaz:

  • VisualStudioProject
  • Hedef
  • Propertygroup
  • Çıktı
  • Itemgroup
  • Usingtask
  • ProjectExtensions
  • Onerror
  • ImportGroup
  • Seç
  • Ne zaman
  • Aksi takdir -de

Ayrıca bkz.