我正在创建.Net Standard 2.0 Nuget程序包,并且希望对该版本执行静态代码分析。但是,当我添加Microsoft.CodeAnalysis.FxCopAnalyzers软件包时,它将成为运行时依赖项,因此任何引用我的Nuget软件包的项目也都将安装分析器。我认为调用代码应该使这些问题成为选择问题。
总有办法阻止这种依赖性吗?
答案 0 :(得分:5)
我最终自己找到了解决方案。仅对项目文件中的Package Reference语法(特别是Controlling Dependency Assets)进行了一些研究。关键是打开* .csproj文件并添加如下所示的PrivateAssets节点(请注意,ExcludeAssets和IncludeAssets设置为默认值,可能已省略):
<PackageReference Include="Microsoft.CodeAnalysis.FxCopAnalyzers" Version="2.6.1">
<PrivateAssets>all</PrivateAssets>
<ExcludeAssets>none</ExcludeAssets>
<IncludeAssets>all</IncludeAssets>
</PackageReference>