Msbuild 未应用通过NuGet包部署的规则集

Msbuild 未应用通过NuGet包部署的规则集,msbuild,nuget,nuget-package,stylecop,build-tools,Msbuild,Nuget,Nuget Package,Stylecop,Build Tools,我创建了一个NuGet包,用于在我们的项目中共享StyleCop.Analyzer的规则集,如下所述: (除非我使用$(MSBuildThisFileDirectory)而不是$(CodeAnalysisRuleSetLocation)) <CodeAnalysisRuleSet>$(MSBuildThisFileDirectory)..\LDBV.ruleset</CodeAnalysisRuleSet> </PropertyGroup> <ItemG

我创建了一个NuGet包,用于在我们的项目中共享StyleCop.Analyzer的规则集,如下所述: (除非我使用$(MSBuildThisFileDirectory)而不是$(CodeAnalysisRuleSetLocation))

<CodeAnalysisRuleSet>$(MSBuildThisFileDirectory)..\LDBV.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<ItemGroup>
    <AdditionalFiles Include="$(MSBuildThisFileDirectory)..\stylecop.json" Link="stylecop.json" />
</ItemGroup>
文件: LDBV.codealysis.RuleSet.nuspec

<?xml version="1.0"?>
<package xmlns="http://schemas.microsoft.com/packaging/2013/05/nuspec.xsd">
    <metadata minClientVersion="2.5">
        <id>LDBV.CodeAnalysis.RuleSet</id>
        <version>0.1.15311</version>
        <authors>[...]</authors>
        <owners>LDBV</owners>
        <requireLicenseAcceptance>false</requireLicenseAcceptance>
        <developmentDependency>true</developmentDependency>
        <description>[...]</description>
        <copyright>Copyright &#169;2019 LDBV</copyright>
        <dependencies>
            <dependency id="StyleCop.Analyzers" version="1.1.118" />
        </dependencies>
    </metadata>

    <files>
        <file src="stylecop.json" target="" />
        <file src="LDBV.ruleset" target="" />
        <file src="LDBV.CodeAnalysis.RuleSet.props" target="build" />
    </files>
</package>
<CodeAnalysisRuleSet>$(MSBuildThisFileDirectory)..\LDBV.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<ItemGroup>
    <AdditionalFiles Include="$(MSBuildThisFileDirectory)..\stylecop.json" Link="stylecop.json" />
</ItemGroup>
问题是: 这在VisualStudio中运行良好。 但是在我们的Jenkins Buildserver上,对于迁移到SDK风格的项目,规则文件不会提供给编译器。(至少我看到的是这种行为)

<CodeAnalysisRuleSet>$(MSBuildThisFileDirectory)..\LDBV.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<ItemGroup>
    <AdditionalFiles Include="$(MSBuildThisFileDirectory)..\stylecop.json" Link="stylecop.json" />
</ItemGroup>
旧式项目接收对编译器的调用,如

<CodeAnalysisRuleSet>$(MSBuildThisFileDirectory)..\LDBV.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<ItemGroup>
    <AdditionalFiles Include="$(MSBuildThisFileDirectory)..\stylecop.json" Link="stylecop.json" />
</ItemGroup>
C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\Current\Bin\Roslyn\csc.exe [..] /ruleset:C:\Users\ServiceJenkins\.nuget\packages\ldbv.codeanalysis.ruleset\0.1.15311\LDBV.ruleset 
SDK样式的项目不接收参数/规则集:[……]

<CodeAnalysisRuleSet>$(MSBuildThisFileDirectory)..\LDBV.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<ItemGroup>
    <AdditionalFiles Include="$(MSBuildThisFileDirectory)..\stylecop.json" Link="stylecop.json" />
</ItemGroup>
我是否遗漏了一些应该在SDK样式的项目中设置的属性,或者是什么导致了这种行为

<CodeAnalysisRuleSet>$(MSBuildThisFileDirectory)..\LDBV.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<ItemGroup>
    <AdditionalFiles Include="$(MSBuildThisFileDirectory)..\stylecop.json" Link="stylecop.json" />
</ItemGroup>
BuildTools版本为16.8.1(最新版本)

<CodeAnalysisRuleSet>$(MSBuildThisFileDirectory)..\LDBV.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<ItemGroup>
    <AdditionalFiles Include="$(MSBuildThisFileDirectory)..\stylecop.json" Link="stylecop.json" />
</ItemGroup>