我正在创建一个 .Net Standard 2.0 Nuget 包,并且我想对构建执行静态代码分析。但是,当我添加Microsoft.CodeAnalysis.FxCopAnalyzers时package 它成为运行时依赖项,因此引用我的 Nuget 包的任何项目也会安装分析器。我觉得这些应该是调用代码选择加入的问题。
是否有办法阻止强制执行这种依赖关系?
最佳答案
我最终自己找到了解决方案。只需对 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>
关于.net-core - 仅编译时 Nuget 依赖项 (FxCop),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51829296/