Używamy TeamCity do ciągłej integracji, a my budujemy nasze wydania za pomocą pliku rozwiązania (.sln). W przeszłości korzystałem z Makefiles dla różnych systemów, ale nigdy nie budowałem msbuilda (co słyszałem, to trochę jak Makefiles + mashup XML). Widziałem wiele postów na temat używania msbuild bezpośrednio zamiast plików rozwiązania, ale nie widzę bardzo jasnej odpowiedzi na pytanie, dlaczego to zrobić.
Dlaczego więc mielibyśmy zawracać sobie głowę migracją z plików rozwiązania do „makefile” MSBuild? Mamy kilka wydań, które różnią się #define (featurized builds), ale w większości wszystko działa.
Bardziej niepokojące jest to, że teraz musielibyśmy utrzymywać dwa systemy podczas dodawania projektów / kodu źródłowego.
AKTUALIZACJA:
Czy ludzie mogą rzucić światło na cykl życia i wzajemne oddziaływanie trzech następujących elementów?
- Plik .sln programu Visual Studio
- Wiele plików .csproj na poziomie projektu (rozumiem skrypty msbuild „sub”)
- Niestandardowy skrypt msbuild
Czy można bezpiecznie powiedzieć, że .sln i .csproj są konsumowane / obsługiwane jak zwykle z poziomu graficznego interfejsu GUI programu Visual Studio IDE, podczas gdy niestandardowy skrypt msbuild jest pisany ręcznie i zwykle zużywa już istniejącą indywidualną wersję .csproj „w stanie, w jakim jest”? To jeden ze sposobów, w jaki widzę zmniejszenie nakładania się / duplikatów w konserwacji ...
Byłbym wdzięczny za trochę światła z doświadczeń operacyjnych innych ludzi
Because it's reputed to be better practice
gdzie?
So, why should we bother migrating from solution files to an MSBuild 'makefile'?
Najpierw musisz powiedzieć, dlaczego w ogóle to rozważasz? Czy plik rozwiązania nie jest wystarczający?