Aracılığıyla paylaş


MSBuild özel kültür kaynak yönetimi

MSBuild 17.14'te başlayarak, özel kültür kaynak işlemesi artık varsayılan olarak etkin değildir. Kullanıcıların bu özelliği etkinleştirmek için açıkça kabul etmesi gerekir. Bu değişiklik, kültür kodlarına benzeyen dizinlerin otomatik olarak algılanmasından kaynaklanan istenmeyen davranışları önler.

Sürüm kullanıma sunulmuştur

MSBuild 17.14

Uyarı

Bu değişiklik MSBuild'in davranışını etkilediğinden, .NET'in desteklenen iki sürümünü etkiler: .NET 10 Preview 1 ve .NET 9.0.2. Özel kültür değişikliği için saydam destek .NET SDK 9.0.200'de kullanıma sunulmuştur ve bunu kabul eden değişiklik .NET SDK 9.0.300'dedir.

Önceki davranış

MSBuild daha önce kültür kodlarına (örneğin, en-US, fr-FR) benzeyen adlara sahip dizinleri varsayılan olarak kültüre özgü kaynak dizinleri olarak ele alır. Bu davranış bazen karma tabanlı veya teknik adlara sahip olanlar gibi, derleme işleminde istenmeyen kaynak derlemelerine yol açan ilişkisiz dizinleri de içeriyordu.

Yeni davranış

  • Özel kültür kaynak işlemesi varsayılan olarak devre dışıdır.
  • Bu özelliği etkinleştirmek için proje özelliğini EnableCustomCulture olarak trueayarlayın.
  • CustomCultureExcludeDirectories Özel kültür işlemenin dışında tutulacak dizin adlarının noktalı virgülle ayrılmış listesini belirtmek için özelliğini kullanın.

Kesinti yaratan değişiklik türü

Bu, bir davranış değişikliğidir.

Değişiklik nedeni

Kültüre özgü kaynak dizinlerinin otomatik olarak algılanması, dizin adları tesadüfen kültür kodlarıyla eşleştiğinde öngörülemeyen derleme davranışına neden oldu. Açık kabul gerektiren, daha öngörülebilir derlemeler sağlar ve kullanıcılara kaynak işleme üzerinde daha fazla denetim sağlar.

Derleme işleminiz özel kültür kaynak işlemeye dayalıysa:

  1. Proje özelliğini EnableCustomCulture olarak trueayarlayın.
  2. İsteğe bağlı olarak, belirli dizinlerin kültür kaynakları olarak değerlendirilmesini dışlamak için özelliğini kullanın CustomCultureExcludeDirectories .

Etkilenen API'ler

Yok.