Я пытаюсь создать пакет NuGet, который автоматически добавляет словарь анализа кода нашей компании и обновляется.Добавить набор правил анализа кода через пакет nuget
Набор правил добавлен в папку содержимого, и теперь я хочу использовать скрипт install.ps1 для добавления набора правил в файл проекта.
Я понял, как было бы полезно использовать envDTE, но я не могу найти много полезной документации об этом, кроме этого, этого огромного графа объектов, в котором я не могу найти узел CodeAnalysisRuleset.
http://msdn.microsoft.com/en-us/library/za2b25t3(v=vs.100).aspx
Я преследую правильный путь?
Есть ли соответствующий учебник/документация о том, как использовать envDTE в NuGet powershell?
Как я могу запустить/отладить мой установочный скрипт без фактического добавления его в пакет и установить его против проекта?
Sidenote
Хотя @Nicole Calinoiu показал лучший способ, это кусочек информации может пригодиться в дальнейшем:
foreach ($config in $project.ConfigurationManager){
$config.Properties.Item("CodeAnalysisRuleSet").Value = "myruleset.ruleset"
}
Проклятье! Я только что нашел его вчера вечером! И я закончил пакет, чтобы импортировать словарь. Спасибо, хотя :) –
Есть что-то, чего я здесь не хватает? Я создал файл реквизита, но NuGet добавляет CodeAnalysisDictionary как тип 'Content', когда он должен быть типом' CodeAnalysisDictionary'. Я не знаю, почему. Он отлично работает, когда я использую 'Compile' для моих файлов cs. –
Это потому, что пользовательский интерфейс VS использует разные правила для выбора типа контента, чем файлы MSBuild. Несмотря на аномалию дисплея пользовательского интерфейса, вы должны обнаружить, что ваш словарь используется Code Analysis. –