Son projemde, MSBuild'i bir betik dili olarak kullandık. (evet, gerçekten!) Ayrıca C# içinde daha mantıklı olan parçalar için yüzlerce özel MSBuild görevi yazdık. (Hatta bir MSBuild görevi için bir kod birimi kodu oluşturmak için bir MSBuild bile yazdım. Evet, kendini tüketmişti.).NET'te bir bağımlılık ağacını yönetmenin en iyi yolu nedir?
Başka birini tavsiye etmemekle birlikte, aynı yaklaşımı aldığımda, çok yardımcı bulduğum şeylerden biri de yerleşik bağımlılık yönetimi. Beklediğiniz gibi, bağımlılık ilişkilerini ifade etmek kolay oldu ve MSBuild'in onları tatmin etmesine özen gösterdi. Örneğin, yazılımımızdaki hemen her adım, belirli bir dosya kümesinin belirli bir konuma kopyalanmasını gerektirdi. Kolayca yazabilirsiniz:
Step1: CopyFiles
Step2: CopyFiles, Step1
ve Step2
yürütmek, bunun sadece bir kez dosyaları kopyalamak olacaktır.
Bir bağımlılık ağacının oluşturulması ve karşılanması, numaralı yazılımlarda oldukça yaygındır. MSBuild ekibinin bağımlılık yönetimi kodunu almasını, MSBuild'den ayırmasını ve herkesin kullanabileceği .NET Framework'e taşımasını diliyorum. , bu bağımlılığı yönetmek için en iyi seçenek bu şekilde?