Я создал собственный пакет NuGet, содержащий пакет NuCet StyleCop.Analyzer, а затем набор правил, характерный для моей компании, который находится в папке содержимого (будет скопирован в рассматриваемый проект).
StyleCop.Analyzer NuGet пакет устанавливается и ссылки устанавливаются правильно, чтобы использовать анализаторы.С помощью скрипта установки (из моего пользовательского пакета) я также редактирую файл .csproj для ссылки на правильный CodeAnalysisRuleSet.Вот фрагмент сценария, который делает это.
foreach ($config in $project.ConfigurationManager)
{
$config.Properties.Item("CodeAnalysisRuleSet").Value = "StyleCop\Company.ruleset"
$config.Properties.Item("WarningLevel").Value = 4
}
Это работает, как и ожидалось, и делает его настолько удобным, что пользователю не нужно делать ничего лишнего.
Моя проблема возникает, когдаудаление пакета.Сценарий удаления не был отредактирован.Моя проблема заключается в том, что после удаления пакета свойство CodeAnalysisRuleSet в файле .csproj также получает значение "".Это хорошо для проекта, в котором он был установлен, НО это происходит для каждого проекта в моем решении, даже если они не используют этот пользовательский пакет NuGet.
Может кто-нибудь дать мне несколько советов относительно того, что ячто поделаешь?