W moim ostatnim projekcie użyliśmy MSBuild jako języka skryptowego. (tak, naprawdę!) Napisaliśmy również setki niestandardowych zadań MSBuild, dla części, które miały więcej sensu w języku C#. (Nawet napisałem zadanie MSBuild, aby wygenerować kod na płycie głównej dla zadania MSBuild.) Tak, zużyło się.)Jaki jest najlepszy sposób zarządzania drzewem zależności w .NET?
Chociaż nie polecam nikomu innego podejścia, to jedną z rzeczy, które uważam za bardzo pomocne, było wbudowane zarządzanie zależnościami. Jak można się było spodziewać, łatwo było wyrazić zależności zależności i pozwolić MSBuildowi zadbać o ich zaspokojenie. Na przykład prawie każdy krok naszego oprogramowania wymagał skopiowania określonego zestawu plików do określonej lokalizacji. Można łatwo napisać:
Step1: CopyFiles
Step2: CopyFiles, Step1
i kiedy wykonać Step2
, byłoby skopiować tylko pliki raz.
Budowanie i zaspokajanie drzewa zależności jest dość powszechne w oprogramowaniu. Chciałbym, aby zespół MSBuild przyjął kod zarządzania zależnościami, oddzielił go od MSBuild i przeniósł go do .NET Framework, gdzie każdy może z niego korzystać. Odrzucając to, , co według Ciebie jest najlepszym rozwiązaniem do zarządzania zależnościami w ten sposób?