Microsoft Code Contracts i CI build server
Przenosimy się do. Net 4 i jesteśmy bardzo zainteresowani wdrożeniem nowego projektu poprzez możliwości kontraktowe.
Jak wiemy Code Contract silnik wymaga instalacji Code Contract addin
I VS Ultimate lub Premium (do sprawdzania statycznego).
Oto moje pytania:
- Czy mogę użyć przepisywania kodu umowy bez instalacji VS Na Ci build Server (TeamCity)?
- Czy Jest jakiś zadania msbuild do wykonania umowy sprawdzasz?
- Czy używasz walidacji kodu kontraktu z CI builds?
1 answers
Tak. Zainstaluj CodeContracts na serwerze kompilacji. (Jeśli odmówi instalacji na komputerze bez Visual Studio, po prostu skopiuj pliki wymienione poniżej i ich zależności na serwer kompilacji.) Po zainstalowaniu znajdziesz narzędzia CodeContract zainstalowane w %programfiles% \ Microsoft \ Contracts \ Bin. W tym katalogu znajdują się 4 pliki wykonywalne, którymi będziesz zainteresowany:Czy mogę użyć przepisywania kodu Umowy bez instalowania VS NA CI build serwer (TeamCity)?
Ccrewrite.exe-binarny rewriter. Powinno to zostać wykonane po kompilacji. Zamienia kontrakty w czeki uruchomieniowe lub cokolwiek określisz, w co chcesz je zmienić.
Ccrefgen.exe - to może generować zespoły referencyjne umowy obok zespołów. Jest to przydatne, jeśli wysyłasz biblioteki DLL do spożycia przez inne strony.
Cccheck.exe-sprawdzanie statyczne. Na serwerze kompilacji uruchamiasz to narzędzie nad swoimi złożeniami zawierające umowy, a wypluwa ostrzeżenia i komunikaty, gdy napotyka potencjalne problemy.
Ccdocgen.exe-generuje dokumentację XML z umów zawartych w kodzie. Możesz tego użyć, Jeśli wysyłasz biblioteki DLL z umowami do konsumpcji przez inne strony lub jeśli potrzebujesz tylko wewnętrznych dokumentów na swoim kodzie.
Tak. Są 2 zadania MSBuild z CodeContracts: w tym samym katalogu instalacyjnym CodeContracts sprawdź folder MSBuild\[Framework version]. W tym katalogu znajdują się 2 pliki, które powinny ci pomóc: Microsoft.CodeContracts.cele i Microsoft.CodeContractAnalysis.cele.Czy są jakieś zadania msbuild do wykonania sprawdzenia umowy?
Zgodnie z dokumentacją CodeContracts,
Rozszerzenie skryptu msbuild Microsoft .Kontrakt. cele zawiera dodatkowe tworzenie działań dla umowy runtime oprzyrządowanie i weryfikacja statyczna kroki. W wyniku takiego podejścia, możliwe jest użycie tego samego funkcjonalność podczas budowania z wiersz poleceń z poleceniem msbuild. Korzystanie z msbuild w projekcie lub rozwiązaniu który wykorzystuje Kontrakty włączone przez VS interfejs użytkownika wykona to samo działania jako odpowiednia budowa under VS.
Jak widzisz, możliwe i wspierane jest zintegrowanie Narzędzi Z CI buildami za pośrednictwem celów MSBuild.
Czy używasz kodu umowy Walidacja z CI builds?
Zakładając, że masz na myśli statyczne sprawdzanie ostrzeżeń/wiadomości, zrobiłem to osobiście, ale nie zrobiłem tego na dużym projekcie.
Mam nadzieję, że to pomoże!Hat tip do książki Jona Skeeta C# in Depth w celu wyjaśnienia narzędzi wiersza poleceń.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-09-18 13:44:10