Określ, czy uruchomi się program MSBuild CoreCompile i wywołaj niestandardowy cel

Wydaje się to oczywistą rzeczą, którą chciałbym zrobić, ale odciągnąłem większość moich włosów, próbując znaleźć jakieś przykłady w sieci lub zrobić to sam.

Mam rozwiązanie c # z 19 projektami i serwerem kompilacji Jenkinsa z uruchomionym skryptem do budowania MSBuild. MSBuild oczywiście określi, co kompiluje i czego nie trzeba, w oparciu o dane wejściowe w porównaniu z wyjściami.

Próbuję utworzyć niestandardowy cel, aby warunkowo zaktualizować AssemblyInfo.cs tych projektów, które MSBuild zamierza skompilować w celu zwiększenia wersji plików. Oczywiście chcę, aby projekty nie były kompilowane same.

Wiem, jak wstrzyknąć cel przed CoreBuild, który działa za każdym razem, więc jeśli istnieje jakaś zmienna, mogę sprawdzić, czy wystąpi kompilacja, która może działać. Wiem też, jak określić, czy kompilacja była uruchomiona, a zatem warunkowo wykonać pewne przetwarzanie końcowe, które jest możliwe, ale nie idealne.

Jak mogę dostosować mój proces budowania, aby to osiągnąć?

Ponieważ wydaje się, że nie ma prostej odpowiedzi na pytanie, czy ktoś wie, jak wykonać tę samą logikę co MSBuild, aby określić, które projekty wymagają przebudowy?

questionAnswers(4)

yourAnswerToTheQuestion