Aracılığıyla paylaş


Tüm .NET derlemelerini özelleştirme

Bu makaledeki teknikler, belirli bir bilgisayarda, sanal makinede veya kapsayıcıda çalıştırılacak tüm derlemeleri özelleştirmek istediğinizde kullanışlıdır. Örneğin, bir derleme sunucusu ayarlarken, sunucudaki tüm derlemeler için MSBuild ayarlarını genel olarak yapılandırmanız gerekebilir. Prensipte genel Microsoft.Common.Targets veya Microsoft.Common.Props dosyalarını değiştirebilirsiniz, ancak bunun daha iyi bir yolu vardır. Belirli MSBuild özelliklerini kullanarak ve belirli özel .targets.props ve dosyalar ekleyerek belirli bir proje türünün tüm derlemelerini (tüm C# projeleri gibi) etkileyebilirsiniz.

Standart .props ve .targets dosyalarından önce ve sonra

MSBuild veya Visual Studio yüklemesi tarafından yönetilen tüm C# veya Visual Basic derlemelerini etkilemek için, Microsoft.Common.targets'dan önce veya sonra çalıştırılacak hedeflerle Custom.Before.Microsoft.Common.Targets veya Custom.After.Microsoft.Common.Targets dosyasını ya da Microsoft.Common.props'dan önce veya sonra işlenecek özelliklere sahip Custom.Before.Microsoft.Common.Props veya Custom.After.Microsoft.Common.Props dosyasını oluşturun.

Aşağıdaki MSBuild özelliklerini kullanarak bu dosyaların konumlarını belirtebilirsiniz:

  • CustomBeforeMicrosoftCommonProps
  • CustomBeforeMicrosoftCommonTargets
  • CustomAfterMicrosoftCommonProps
  • CustomAfterMicrosoftCommonTargets
  • CustomBeforeMicrosoftCSharpTargets
  • CustomBeforeMicrosoftVisualBasicTargets
  • CustomAfterMicrosoftCSharpTargets
  • CustomAfterMicrosoftVisualBasicTargets

Bu özelliklerin ortak sürümleri hem C# hem de Visual Basic projelerini etkiler. Bu özellikleri MSBuild komut satırında ayarlayabilirsiniz.

msbuild /p:CustomBeforeMicrosoftCommonTargets="C:\build\config\Custom.Before.Microsoft.Common.Targets" MyProject.csproj

Uyarı

Visual Studio, eşleşen türde herhangi bir proje derlediğinden msbuild klasöründe bulursa özel .targets veya .props dosyaları kullanır. Bunun istenmeyen sonuçları olabilir ve yanlış yapılırsa Visual Studio'nun bilgisayarınızda derleme özelliğini devre dışı bırakabilir.

Ortak props dosyasını değiştirme

Özellikleri, Microsoft.Common.props yerine kullanılacak kendi .props dosyanızı belirtmek için de kullanabilirsinizAlternateCommonProps. Microsoft.Common.props'u doğrudan değiştirerek özelleştirmeniz gerektiğini düşünüyorsanız, bunun yerine bu dosyanın standart sürümünü başka bir dosyaya kopyalayabilir ve sonra değişikliklerinizi yalnızca alternatif sürümde yapabilirsiniz.

En iyi yaklaşım senaryonuza bağlıdır. Visual Studio Genişletilebilirliği'ni kullanarak derleme sistemini özelleştirebilir ve özelleştirmeleri yüklemek ve yönetmek için bir mekanizma sağlayabilirsiniz.

Ayrılmış bir derleme sunucunuz varsa ve belirli hedeflerin her zaman ilgili sunucuda yürütülen uygun proje türünün tüm derlemelerinde yürütülmesini istiyorsanız, genel bir özel .targets sunucu veya .props dosya kullanmak mantıklıdır. Özel hedeflerin yalnızca belirli koşullar uygulandığında yürütülmesini istiyorsanız, başka bir dosya konumu kullanın ve yalnızca gerektiğinde MSBuild komut satırında uygun MSBuild özelliğini ayarlayarak bu dosyanın yolunu ayarlayın.