为什么我的自定义NuGet包会修改解决方案中的所有项目

时间:2019-01-31 07:01:56

标签: c# nuget nuget-package

我创建了一个自定义的NuGet程序包,其中包含StyleCop.Analyzer NuGet程序包,然后包含内容文件夹中针对我公司的规则集(将复制到相关项目中)。

已安装StyleCop.Analyzer NuGet软件包,并正确设置了引用,以便使用分析仪。使用安装脚本(自定义程序包的安装脚本),我还编辑.csproj文件以引用正确的CodeAnalysisRuleSet。这是执行此操作的脚本片段。

 foreach ($config in $project.ConfigurationManager)
{
  $config.Properties.Item("CodeAnalysisRuleSet").Value = "StyleCop\Company.ruleset"
  $config.Properties.Item("WarningLevel").Value = 4
} 

这可以按预期工作,并且非常方便,用户无需执行任何其他操作。

卸载软件包时出现我的问题。卸载脚本尚未编辑。我的问题是,卸载软件包后,.csproj文件中的CodeAnalysisRuleSet属性也设置为“”。这对于已安装的项目来说很好,但是即使我的解决方案中的每个项目都没有使用此自定义的NuGet程序包,也是如此。

有人可以给我一些建议,以帮助我解决这个问题吗?

0 个答案:

没有答案