Ich versuche, ein NuGet-Paket zu erstellen, das das Codeanalysewörterbuch unseres Unternehmens automatisch und aktualisierbar hinzufügt.
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, dass die Verwendung von envDTE der Weg wäre, aber ich kann nicht viel nützliche Dokumentation darüber finden, außer diesem überwältigenden Objektdiagramm, in dem ich den CodeAnalysisRuleset-Knoten nicht finden kann.
Ссылка
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 tatsächlich zu einem Paket hinzufügen und für ein Projekt installieren zu müssen?
Randnotiz
Obwohl @Nicole Calinoiu den besseren Weg gezeigt hat, könnte dieser Informationshappen später nützlich sein:
Es besteht keine Notwendigkeit, dies zu skripten. Sowohl der Regelsatz als auch das Wörterbuch können über eine importierte MSBuild .props
-Datei registriert werden, wie unter Ссылка .
Die Struktur Ihres NuGet-Quellordners könnte beispielsweise wie folgt aussehen (vorausgesetzt, "CodeAnalysisSettings" ist Ihre Paket-ID):
wobei der Inhalt von CodeAnalysisSettings.props
etwa wie folgt aussieht:
Ich hatte das gleiche Problem wie in den Kommentaren: Das Wörterbuch wurde als Inhalt hinzugefügt, nicht als CodeAnalysisDictionary
.
Ich habe dieses Stück Code in der install.ps1 des nugget-Pakets hinzugefügt, um das Problem zu lösen:
%Vor%Sie können dies auch manuell tun, indem Sie die folgenden Schritte ausführen.
Sie können den Schritt für andere Projekte in der Lösung wiederholen.
Tags und Links c# powershell code-analysis nuget envdte