Allgemein Für Administratoren Für Architekten Für Entwickler Für Projektleiter Für Tester News Produkte Publikationen
X
Lars Roith
Lars Roith ist Senior Software Consultant und Geschäftsführer der AIT. Eines seiner „Steckenpferde“ ist die Architektur- und Prozessberatung. Lars Roith ist maßgeblich beteiligt am hauseigenen Softwareentwicklungsprozess (AIT SEP) und ist für das AIT Task Board verantwortlich.

Lars Roith

Sprachmix mit TeamBuild 2008 und statischer Code Analyse

Dienstag, 30. August 2011

Die statische Codeanalyse von Visual Studio enthält Regeln, die die Benennung von Methoden und Feldern prüfen. Wussten Sie aber, dass es Szenarien gibt, in denen die Prüfung gar nicht erfolgt?

Die statische Codeanalyse verwendet Wörterbücher für die Sprachprüfung. Das Wörterbuch wird in Abhängigkeit der Systemsprache oder eines Parameters ausgewählt. Im vorliegenden Fall ist der Build-Server ein deutsches System, Visual Studio und Team Build sind in Englisch installiert. Die Sprachprüfung der statischen Code Analyse soll ebenfalls Englisch verwenden.

Die statische Codeanalyse basiert auf FxCopCmd. FxCopCmd unterstützt einen Kommandozeilenschalter „/culture“. Über diesen kann die für die Sprachprüfung zu verwendende Sprache definiert werden. Der MSBuild-Task zur statischen Codeanalyse unterstützt diesen Parameter ebenfalls in Form einer MSBuild-Eigenschaft mit dem Namen „CodeAnalysisCulture“.

Um den Wert für die zu verwendende Sprache zu definieren, sollte es also reichen, die Eigenschaft in unserem Build-Skript zu befüllen:

clip_image002[5]

Leider ist dies nicht erfolgreich. Es stellt sich heraus, dass der Wert nicht an die einzelnen Builds der Solutions und Projekte weitergegeben wird.

Der erzeugte Aufruf von FxCopCmd sieht wie folgt aus:

clip_image004

Man erkennt das Fehlen des Schalter „/culture“.

Um Parameter an die einzelnen Builds weiterzugeben, muss anstelle von

<CodeAnalysisCulture>en-US</CodeAnalysisCulture>

die Eigenschaft  „CustomPropertiesForBuild“ wie folgt überschrieben werden:

<CustomPropertiesForBuild>CodeAnalysisCulture=en-US</CustomPropertiesForBuild>

Dann erfolgt auch bei einem im Sprachmix installierten System die Prüfung in der gewünschten Sprache.

Verwandte Artikel:

Benötigen Sie Unterstützung bei der Software-Entwicklung und Architektur von .NET basierten Lösungen oder bei Einführung und Anpassung von Visual Studio / Microsoft Test Manager / Team Foundation Server?

Wir stehen Ihnen unter info(at)aitgmbh.de gerne zur Verfügung.

Tags: ,

Hinterlasse eine Antwort