Share via


MSBuild 17.0'daki yenilikler

Bu makalede MSBuild 17.0'daki önemli güncelleştirmeler açıklanmaktadır. Ayrıntılı sürüm notları için bkz . MSBuild 17.0.0.

MSBuild 17.0, Visual Studio 2022 ve .NET 6.0 ile birlikte gönderilir.

Değiştirilen yol

MSBuild, Visual Studio'nun her sürümünün altındaki \Current klasörüne yüklenir ve yürütülebilir dosyalar \Bin alt klasöründe bulunur. Örneğin, Visual Studio 2022 Community ile yüklenen MSBuild.exe dosyasının yolu C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Current\Bin\MSBuild.exe MSBuild'i bulmak için aşağıdaki PowerShell modülünü de kullanabilirsiniz: vssetup.powershell.

Değiştirilen özellikler

Yeni sürüm numarası nedeniyle aşağıdaki MSBuild özellikleri güncelleştirildi.

  • MSBuildToolsVersion araçların bu sürümü için "Güncel" olarak kalır. Derleme sürümü, Visual Studio 2017 ve Visual Studio 2019 ile aynıdır ve bu sürüm 15.1.0.0'dır.

  • VisualStudioVersion araçların bu sürümü için "17.0"

64 bit

MSBuild.exe'nin daha önce hem 32 bit hem de 64 bit sürümleri vardı, ancak şimdi varsayılan sürüm 64 bittir. Visual Studio 2022, tüm derlemeler için MSBuild'in 64 bit sürümünü kullanır. 32 bit sürümü hala kullanılabilir ancak tüm derlemeleri 64 bit sürüme geçirmenizi öneririz.

Görev sahipleri için bu, MSBuild görevinizi yüklediğinde 64 bitlik bir işlemde yüklemeyi deneyeceği anlamına gelir. Görevlerinizi 64 bitlik bir işlemde çalışacak şekilde güncelleştirmenizi öneririz, ancak uyumluluk için MSBuild'e görevinizin yalnızca UsingTask'lerinde 32 bit olarak çalıştığını söyleyebilirsiniz.

Performans iyileştirmeleri

MSBuild daha hızlı! Bu sürümün odak noktası, birçok yaygın senaryo için performansı geliştirmektir. MSBuild 17.0 daha büyük projeler daha hızlı oluşturabilir.

.NET sürümleri

MSBuild (ve Visual Studio) artık .NET Framework 4.7.2 ve .NET 6.0'ı hedeflemektedir. Yeni MSBuild API özelliklerini kullanmak istiyorsanız bütünleştirilmiş kodunuz da yükseltilmelidir, ancak mevcut kod çalışmaya devam eder.

Günlükler

İkili günlükler daha küçüktür ve daha fazla bilgiye sahiptir.

Hataya neden olan değişiklikler

  • Yöntemi GetType() artık özellik işlevlerinde çağrılmaz.
  • .NET için MSBuild, .NET 6'ya yöneliktir.

Diğer davranış değişiklikleri

  • MSBuildCopyContentTransitively artık varsayılan olarak açıktır ve artımlı derlemelerde çıkış klasörlerinde tutarlılık sağlar.

Bu sürümdeki diğer değişiklikler için ayrıntılı sürüm notları ve geri çevirebileceğiniz MSBuild sürümlerindeki değişiklikler için bkz . değişiklik dalgaları.