Почему мой собственный пакет NuGet изменяет все проекты в решении - PullRequest
0 голосов
/ 31 января 2019

Я создал собственный пакет 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.

Может кто-нибудь дать мне несколько советов относительно того, что ячто поделаешь?

...