Dieser Stack-Überlauf Frage:Microsoft-Code Verträge ohne Visual Studio
Microsoft Code Contracts and CI build server
fragt, wie Code Verträge auf einem Build-Server arbeiten zu erhalten, ohne Visual Studio 2010 Installation Wir versuchen, das gleiche zu tun. Wir haben die in der angenommenen Antwort beschriebenen Schritte durchgeführt, konnten sie jedoch nicht ausführen.
CodeContracts wird nicht auf dem Build-Server installiert, wenn Visual Studio nicht vorhanden ist. So nach dem Vorschlag haben wir folgendes getan:
- Wir kopiert den Inhalt
%programfiles%\Microsoft\Contracts\Bin
aus einer Entwicklungsmaschine mit Visual Studio 2010 Ultimate und Code-Verträge Prämie auf den Build-Server installiert ist. - Wir haben auch den Ordner
MSBuild\v4.0
kopiert, derMicrosoft.CodeContracts.targets
undMicrosoft.CodeContractAnalysis.targets
enthält.
Nach der CodeContracts Dokumentation,
Mit msbuild an einem Projekt oder eine Lösung, die Verträge aktivierten über das VS-Benutzeroberfläche verwendet die gleichen Aktionen wie die entsprechende Build unter VS. ausführen
Dies ist unser Anwendungsfall, wir rufen einfach MSBuild in unserer Lösungsdatei wie folgt auf. Die Lösungsdatei wird über Visual Studio mit allen erwarteten Code Contract-Optionen erstellt, die für das Neuschreiben konfiguriert sind.
<Target Name="Release">
<MSBuild Projects = "Cofamilies\WebApplication\CofamiliesWeb.sln" Properties="Configuration=Release" />
</Target>
Aber der Rewriter wird nicht aufgerufen.
Hat jemand einen Vorschlag für das, was uns fehlt und/oder Vorschläge zur Fehlerbehebung?
Das hat mir geholfen, die Build-Arbeit auf einem Jenkins bauen Server zu machen, wo VS nicht installiert ist, nur MSBuild 12.0 – bvamos