我对使用Stylecop.Analyzers nuget软件包感兴趣,因为它将Stylecop与Roslyn集成在一起,因为如果它们不符合定义的要求,那么构建将会失败。我的想法如下:
我创建了一个包含stylecop.json文件和Stylecop.Analyzers.ruleset文件的自定义nuget包,该包依赖于Stylecop.Analyzers。
如果我手动添加上述文件并对.csproj进行以下更改,我可以在.Net Core 2项目中使用它:
<PropertyGroup>
<CodeAnalysisRuleSet>Stylecop.Analyzers.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
以及stylecop.json文件的以下内容:
<ItemGroup>
<AdditionalFiles Include="stylecop.json" />
</ItemGroup>
现在我想使用Nuget包自动执行此操作,因此我可以在各种解决方案/项目中轻松安装和使用它。不幸的是我无法做到这一点。
我遇到的第一个问题是我无法从nuget包更新.csproj。我尝试通过创建以下线程中提到的文件夹结构来实现:Providing a code analysis ruleset to a .net core project through NuGet
这似乎没有做任何事......
接下来,我试图通过使用转换.csproj的Powershell安装脚本来解决这个问题。我在Github上克隆了以下项目:https://github.com/FantasticFiasco/csproj-ignition使用Powershell更新csproj。我测试了这个,我确实让它为.Net Framework项目工作,但遗憾的是不适用于我的.Net Core 2项目。
所以简而言之:有没有人知道如何通过安装nuget软件包来改变.Net Core 2项目的.csproj或者这个任务是不可能的?