Azure devops Azure DevOps管道:Visual Studio生成任务忽略.editorconfig中的设置

Azure devops Azure DevOps管道:Visual Studio生成任务忽略.editorconfig中的设置,azure-devops,msbuild,azure-pipelines,editorconfig,Azure Devops,Msbuild,Azure Pipelines,Editorconfig,在我的.NETFramework(C#)解决方案中,我使用了一些Roslyn分析器,我在.editorconfig文件中调整了它们的设置 当我在VS2019中本地构建解决方案时,没有收到来自分析器的警告 当我在Azure DevOps管道任务中构建解决方案时,会生成与Roslyn相关的警告: 在我看来,DevOps管道任务忽略了.editorconfig文件中的设置。如何使流水线任务考虑.Edror CONFIG文件设置? 如何使流水线任务考虑.Edror配置文件 设置 我们不需要在管道中手

在我的.NETFramework(C#)解决方案中,我使用了一些Roslyn分析器,我在.editorconfig文件中调整了它们的设置

当我在VS2019中本地构建解决方案时,没有收到来自分析器的警告

当我在Azure DevOps管道任务中构建解决方案时,会生成与Roslyn相关的警告:

在我看来,DevOps管道任务忽略了.editorconfig文件中的设置。如何使流水线任务考虑.Edror CONFIG文件设置?

如何使流水线任务考虑.Edror配置文件 设置

我们不需要在管道中手动设置关于
.editorconfig
的任何内容,当它放置在项目文件夹下时,它将自动工作。我刚刚在本地机器和构建管道中对它进行了测试,它应该可以工作

所以你应该:

1.导航到Azure Devops Repos以检查
.editorconfig
文件是否与
xx.csproj
文件存在于同一文件夹中。请注意您选择的分支,确保用于运行构建管道的分支具有
.editorconfig
文件

2.检查
.editorconfig
文件的内容,检查是否包含以下语句:

# SA1633: File should have header
dotnet_diagnostic.SA1633.severity = none
您的
.editorconfig
文件不会抑制这些警告,除非它包含此类定义

3.尝试使用不同的代理,我假设您使用的是自代理。这意味着您正在调用您的本地VS实例来运行作业,可能这有问题。我建议您可以尝试使用microsoft hosted agent运行它(选择
windows最新版本
),它在我这边运行得很好。此外,如果继续使用自代理,请将本地VS更新为最新版本

4.指定nuget.exe的版本,4.4.0太旧。尝试使用5.3.1及以上版本


希望以上所有帮助:)

我们今天遇到了类似的问题,并发现MSBuild 16.9将代码分析
规则集
文件优先于
.editorconfig
文件。因此,如果您的项目引用的规则集将某个规则设置为错误,但您的EditorConfiguration将其更改为建议或警告,它仍会将事情视为错误

由于Azure DevOps将MSBuild的版本更新为16.9,而我们仍在使用16.8,因此我们在本地计算机上的行为与构建管道中的行为不同


奇怪的是,在editorconfig文件中将severity设置为
none
似乎仍然可以防止分析器抱怨。

Hi,这个问题有更新吗?请检查我的回答是否有助于解决您的问题:)我有同样的问题@LanceLi MSFT。我试图从代码分析中排除生成的代码。可以在VisualStudio中工作,但不能在Azure管道中工作
.editorconfig
与csproj位于同一文件夹中。内容看起来像
[Generated/***.cs]
dotnet\u analyzer\u diagnostic.severity=none
@LanceLi-MSFT我们使用的是微软托管的Ubuntu 18.04代理我们面临着同样的问题,您是否找到了覆盖规则集并使用.editorconfig配置的方法?@Amichai:I删除规则集并将所有默认严重性设置放入.editorconfig文件中。您仍然可以使用规则集文件、更深入的路径编辑器配置文件或文件覆盖单个项目的默认设置。如果您的
null
,则在规则集文件中未显式调用的任何设置将返回到editorconfig file.FYI中设置的设置,该设置似乎也会覆盖MSBuild 16.9中的任何editorconfig级别设置。