soneta / Soneta.MsBuild.SDK

Sdk stworzone przez firmę Soneta pozwalające automatycznie skonfigurować oraz uzupełnić projekty dodatków o niezbędne elementy potrzebne do współpracy z oprogramowaniem enova.
MIT License
8 stars 12 forks source link

Tymczasowa łata na potrzeby VS2019. Dzięki temu możliwe jest używanie VS2019 do kompilacji i gdy wywołujemy 'Compile' nie jest kompilowany na nowo całe solution. #8

Closed swiato closed 5 years ago

swiato commented 5 years ago

Łata pochodzi z pliku common.items.props zawartego w repozytorium enova. Plik ten powinien zostać stamtąd usunięty, ponieważ obecnie wchodzi w skład repo Soneta.MsBuild.SDK. W celu zachowania zmian wprowadzonych na repo enova już po wpięciu Soneta.Sdk, przeniosłem ten fragment kodu tutaj.

Po zmerdżowaniu tej zmiany do brancha develop, wygląda na to, że łata spełnia swoją funkcję - faktycznie w VS projekty nie są już przebudowywane za każdym razem.

swiato commented 5 years ago

To już mieliśmy i zrezygnowaliśmy z tego, bo nugety nie generowały się z poprawną zawartością. Problemu szukałbym gdzie indziej. O ile dobrze wiem były jakieś issue zgłaszane albo dla Msbuilda, albo dla Visual Studio

Nie jestem autorem tego rozwiązania, zwyczajnie nie chciałem go usuwać bez niczyjej wiedzy. Jeśli autor zgodzi na się zrezygnowanie z tego podejścia PR będzie do odrzucenia.

swiato commented 5 years ago

Muszę przyznać, że sprawdzałem wyrywkowo, na enovadev i wygląda to dobrze, tzn na znalazłem jakichś wynaturzeń w nugetach. Może to dlatego, że to jest tylko update Content'u, czy co było Contentem to nie zmienia typu, a jedynie zmienia CopyToOutputDirectory na całkiem dobry PreserveNewest.

Poprzednie zmiany miały dużo większy zasięg i dotykały też naszych nugetów. Pytanie, czy w ogóle te zmiany robią coś pozytywnego?

Z moich obserwacji wynika, że zastosowane podejście nie powoduje ponownego budowania się, już zbudowanych projektów przy każdym buildzie, a bez niego tak się dzieje. U mnie wygląda na to, że spełnia oczekiwania.