Ich versuche ein NuGet-Paket zu erstellen, das das Codeanalyse-Wörterbuch unseres Unternehmens automatisch hinzufügt und aktualisierbar macht.Code-Analyse-Regelsatz über nuget-Paket hinzufügen
Der Regelsatz wurde im Inhaltsordner hinzugefügt, und jetzt möchte ich das Skript install.ps1 verwenden, um den Regelsatz in der Projektdatei hinzuzufügen.
Ich habe herausgefunden, der Weg zu gehen wäre, die envDTE zu verwenden, aber ich kann nicht viel nützliche Dokumentation darüber finden, dann dieses überwältigende Objektdiagramm, in dem ich den CodeAnalysisRuleset-Knoten nicht finden kann.
http://msdn.microsoft.com/en-us/library/za2b25t3(v=vs.100).aspx
Verfolge ich den richtigen Weg?
Gibt es eine relevante Anleitung/Dokumentation zur Verwendung von envDTE in NuGet Powershell?
Wie kann ich mein Installationsskript ausführen/debuggen, ohne es zu einem Paket hinzufügen und gegen ein Projekt installieren zu müssen?
Nebenbei bemerkt
Obwohl @Nicole Calinoiu der bessere Weg zeigte, könnte dies Bissen von Informationen kommen in praktisch später:
foreach ($config in $project.ConfigurationManager){
$config.Properties.Item("CodeAnalysisRuleSet").Value = "myruleset.ruleset"
}
Dammit! Ich habe es gestern Abend gefunden! Und ich beendete das Paket, um das Wörterbuch auch zu importieren. Danke aber :) –
Gibt es etwas, das ich hier vermisse? Ich habe die Props-Datei erstellt, aber NuGet fügt das CodeAnalysisDictionary als eine Art von "Content" hinzu, wenn es eine Art von 'CodeAnalysisDictionary' sein soll. Ich bin mir nicht sicher warum. Es funktioniert gut, wenn ich 'Compile' für meine CS-Dateien benutze. –
Das liegt daran, dass die VS-Benutzeroberfläche unterschiedliche Regeln für die Entscheidung über den Inhaltstyp verwendet, als dies bei der Codeanalyse von MSBuild-Dateien der Fall ist. Trotz der Anomalie der Benutzeroberfläche sollten Sie feststellen, dass Ihr Wörterbuch von der Codeanalyse verwendet wird. –