Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

IDE0130 is not reported correctly in 8.0.2xx #73261

Open
toth-bence-nxbev opened this issue Mar 25, 2024 · 7 comments
Open

IDE0130 is not reported correctly in 8.0.2xx #73261

toth-bence-nxbev opened this issue Mar 25, 2024 · 7 comments

Comments

@toth-bence-nxbev
Copy link

Describe the bug

Even though the corresponding dotnet style is set to produce a warning, the build doesn't produce the warning when an incorrect namespace is present.

To Reproduce

  • Install the sdk version 8.0.2xx (I have tested this with 8.0.200 and 8.0.203)
  • Set the following:
    dotnet_style_namespace_match_folder = true
    dotnet_diagnostic.IDE0130.severity = warning
  • Modify a namespace to not match the directory structure.
  • IDE0130 should be reported as a warning, but it is not reported.

Further technical details

  • This can be reproduced both in Visual studio 2022 and in the CLI running dotnet build
@dotnet-issue-labeler dotnet-issue-labeler bot added Area-NetSDK untriaged Issues and PRs which have not yet been triaged by a lead labels Mar 25, 2024
@marcpopMSFT marcpopMSFT self-assigned this Mar 26, 2024
@smdn
Copy link

smdn commented Mar 27, 2024

I encountered the same problem.
After some testing, it is working as expected with the .NET SDK 6.0.418 and 8.0.100.

I tested with the following directory structure.

.
├── .editorconfig
├── MyLibrary
│   ├── Class1.cs
│   └── Class2.cs
├── Program.cs
├── Program.csproj

The contents of the file are as follows.

.editorconfig:

[*.cs]
dotnet_style_namespace_match_folder = true
dotnet_diagnostic.IDE0130.severity = warning

csharp_style_expression_bodied_local_functions = true
dotnet_diagnostic.IDE0061.severity = warning

Program.csproj:

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>net6.0</TargetFramework>
    <ImplicitUsings>enable</ImplicitUsings>
    <Nullable>enable</Nullable>

    <EnforceCodeStyleInBuild>true</EnforceCodeStyleInBuild>
    <RootNamespace>MyProgram</RootNamespace>
  </PropertyGroup>

  <Target Name="ShowCompilerVisibleProperties" BeforeTargets="Build">
    <!--
      Check if CompilerVisibleProperty contains RootNamespace and ProjectDir.
      For IDE0130 to work, the CompilerVisibleProperty must contain RootNamespace and ProjectDir.
      ref: https://learn.microsoft.com/en-us/dotnet/fundamentals/code-analysis/style-rules/ide0130
    -->
    <Message Text="CompilerVisibleProperty: @(CompilerVisibleProperty)" Importance="high" />
    <Message Text="RootNamespace: $(RootNamespace)" Importance="high" />
    <Message Text="ProjectDir: $(ProjectDir)" Importance="high" />
  </Target>

</Project>

Program.cs:

namespace MyProgram;

class Program
{
  public static void Main()
  {
    Console.WriteLine(GetHelloWorldString());

    // Warning IDE0061 is expected here, and is reported as expected
    static string GetHelloWorldString()
    {
      return "Hello, World!";
    }
  }
}

MyLibrary/Class1.cs:

namespace MyProgram.MyLibrary;

class Class1 { }

MyLibrary/Class2.cs:

// Warning IDE0130 is expected here, but is not reported on .NET SDK 8.0
namespace MyProgram.NamespaceNotMatch;

class Class2 { }

.NET SDK 8.0.100

IDE0130 is reported as expected.

$ dotnet --version
8.0.100

$ LANG=C dotnet build
MSBuild version 17.8.3+195e7f5a3 for .NET
  Determining projects to restore...
  All projects are up-to-date for restore.
/home/smdn/temp/ns/MyLibrary/Class2.cs(2,11): warning IDE0130: Namespace "MyProgram.NamespaceNotMatch" does not match folder structure, expected "MyProgram.MyLibrary" (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/style-rules/ide0130) [/home/smdn/temp/ns/Program.csproj]
/home/smdn/temp/ns/Program.cs(10,5): warning IDE0061: Use expression body for local function (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/style-rules/ide0061) [/home/smdn/temp/ns/Program.csproj]
  Program -> /home/smdn/temp/ns/bin/Debug/net6.0/Program.dll
  CompilerVisibleProperty: TargetFramework;TargetPlatformMinVersion;UsingMicrosoftNETSdkWeb;ProjectTypeGuids;InvariantGlobalization;PlatformNeutralAssembly;EnforceExtendedAnalyzerRules;_SupportedPlatformList;RootNamespace;ProjectDir;EnableComHosting;EnableGeneratedComInterfaceComImportInterop
  RootNamespace: MyProgram
  ProjectDir: /home/smdn/temp/ns/

Build succeeded.

/home/smdn/temp/ns/MyLibrary/Class2.cs(2,11): warning IDE0130: Namespace "MyProgram.NamespaceNotMatch" does not match folder structure, expected "MyProgram.MyLibrary" (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/style-rules/ide0130) [/home/smdn/temp/ns/Program.csproj]
/home/smdn/temp/ns/Program.cs(10,5): warning IDE0061: Use expression body for local function (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/style-rules/ide0061) [/home/smdn/temp/ns/Program.csproj]
    2 Warning(s)
    0 Error(s)

Time Elapsed 00:00:01.85

.NET SDK 8.0.202

The expected IDE0130 is not reported.

$ dotnet --version
8.0.202

$ LANG=C dotnet build 
$ LANG=C dotnet build
MSBuild version 17.9.6+a4ecab324 for .NET
  Determining projects to restore...
  All projects are up-to-date for restore.
/home/smdn/temp/ns/Program.cs(10,5): warning IDE0061: ローカル関数に式本体を使用する (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/style-rules/ide0061) [/home/smdn/temp/ns/Program.csproj]
  Program -> /home/smdn/temp/ns/bin/Debug/net6.0/Program.dll
  CompilerVisibleProperty: TargetFramework;TargetPlatformMinVersion;UsingMicrosoftNETSdkWeb;ProjectTypeGuids;InvariantGlobalization;PlatformNeutralAssembly;EnforceExtendedAnalyzerRules;_SupportedPlatformList;RootNamespace;ProjectDir;EnableComHosting;EnableGeneratedComInterfaceComImportInterop;EffectiveAnalysisLevelStyle
  RootNamespace: MyProgram
  ProjectDir: /home/smdn/temp/ns/

Build succeeded.

/home/smdn/temp/ns/Program.cs(10,5): warning IDE0061: ローカル関数に式本体を使用する (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/style-rules/ide0061) [/home/smdn/temp/ns/Program.csproj]
    1 Warning(s)
    0 Error(s)

Time Elapsed 00:00:01.57

.NET SDK 6.0.418

IDE0130 is reported as expected.

$ dotnet --version
6.0.418

$ LANG=C dotnet build 
MSBuild version 17.3.2+561848881 for .NET
  Determining projects to restore...
  Restored /home/smdn/temp/ns/Program.csproj (in 131 ms).
/home/smdn/temp/ns/MyLibrary/Class2.cs(2,11): warning IDE0130: Namespace "MyProgram.NamespaceNotMatch" does not match folder structure, expected "MyProgram.MyLibrary" [/home/smdn/temp/ns/Program.csproj]
/home/smdn/temp/ns/Program.cs(10,5): warning IDE0061: Use expression body for local functions [/home/smdn/temp/ns/Program.csproj]
  Program -> /home/smdn/temp/ns/bin/Debug/net6.0/Program.dll
  CompilerVisibleProperty: TargetFramework;TargetPlatformMinVersion;UsingMicrosoftNETSdkWeb;ProjectTypeGuids;InvariantGlobalization;PlatformNeutralAssembly;_SupportedPlatformList;RootNamespace;ProjectDir
  RootNamespace: MyProgram
  ProjectDir: /home/smdn/temp/ns/

Build succeeded.

/home/smdn/temp/ns/MyLibrary/Class2.cs(2,11): warning IDE0130: Namespace "MyProgram.NamespaceNotMatch" does not match folder structure, expected "MyProgram.MyLibrary" [/home/smdn/temp/ns/Program.csproj]
/home/smdn/temp/ns/Program.cs(10,5): warning IDE0061: Use expression body for local functions [/home/smdn/temp/ns/Program.csproj]
    2 Warning(s)
    0 Error(s)

Time Elapsed 00:00:01.78

@JanHadascok
Copy link

Same problem here. I have set the EnforceCodeStyleInBuild to true and building doesn't throw. But interestingly doing dotnet format --verify-no-changes --report ... correctly outputs the warnings.

@martincostello
Copy link
Member

I'm finding the same issue with what seems to be any analyzer warning that has a code fixer.

For example, where IDE0057 is present it is not detected or fixed with the 8.0.203 SDK:

dotnet build
MSBuild version 17.9.6+a4ecab324 for .NET
  Determining projects to restore...
  All projects are up-to-date for restore.
C:\Coding\martincostello\_repro\Person.cs(14,62): error IDE0057: Substring can be simplified (https://learn.micros
oft.com/dotnet/fundamentals/code-analysis/style-rules/ide0057) [C:\Coding\martincostello\_repro\Project.csproj]

Build FAILED.

C:\Coding\martincostello\_repro\Person.cs(14,62): error IDE0057: Substring can be simplified (https://learn.micros
oft.com/dotnet/fundamentals/code-analysis/style-rules/ide0057) [C:\Coding\martincostello\_repro\Project.csproj]
    0 Warning(s)
    1 Error(s)

Time Elapsed 00:00:01.35

Coding\martincostello\_repro via .NET v8.0.203 🎯 net8.0dotnet format analyzers --verbosity diagnostic
  The dotnet runtime version is '8.0.3'.
  The dotnet CLI version is '8.0.203'.
  Using MSBuild.exe located in 'C:\Program Files\dotnet\sdk\8.0.203\'.
  Formatting code files in workspace 'C:\Coding\martincostello\_repro\Project.csproj'.
  Loading workspace.
    Determining projects to restore...
  All projects are up-to-date for restore.
  Project Project is using configuration from 'C:\Coding\martincostello\_repro\.editorconfig'.
  Project Project is using configuration from 'C:\Coding\martincostello\_repro\obj\Debug\net8.0\Project.GeneratedMSBuildEditorConfig.editorconfig'.
  Project Project is using configuration from 'C:\Program Files\dotnet\sdk\8.0.203\Sdks\Microsoft.NET.Sdk\analyzers\build\config\analysislevel_8_all.globalconfig'.
  Complete in 3369ms.
  Determining formattable files.
  Complete in 189ms.
  Running formatters.
  Running Analyzer Reference analysis.
  Determining diagnostics...
  Running 146 analyzers on Project.
  Complete in 2233ms.
  Fixing diagnostics...
  Complete in 3ms.
  Analysis complete in 2236ms.
  Complete in 2806ms.
  Formatted 0 of 3 files.
  Format complete in 6372ms.

Downgrading to the 7.0.407 SDK and net7.0 works as expected:

dotnet format analyzers --verbosity diagnostic
  The dotnet runtime version is '8.0.3'.
  The dotnet CLI version is '7.0.407'.
  Using MSBuild.exe located in 'C:\Program Files\dotnet\sdk\7.0.407\'.
  Formatting code files in workspace 'C:\Coding\martincostello\_repro\Project.csproj'.
  Loading workspace.
    Determining projects to restore...
  All projects are up-to-date for restore.
  Project Project is using configuration from 'C:\Coding\martincostello\_repro\.editorconfig'.
  Project Project is using configuration from 'C:\Coding\martincostello\_repro\obj\Debug\net7.0\Project.GeneratedMSBuildEditorConfig.editorconfig'.
  Project Project is using configuration from 'C:\Program Files\dotnet\sdk\7.0.407\Sdks\Microsoft.NET.Sdk\analyzers\build\config\analysislevel_7_all.editorconfig'.
  Complete in 4625ms.
  Determining formattable files.
  Complete in 206ms.
  Running formatters.
  Running Analyzer Reference analysis.
  Determining diagnostics...
  Running 225 analyzers on Project.
  Complete in 2896ms.
  Fixing diagnostics...
  Running 1 analyzers on Project.
  Complete in 1137ms.
  Analysis complete in 4033ms.
  Complete in 4736ms.
  Formatted code file 'C:\Coding\martincostello\_repro\Person.cs'.
  Formatted 1 of 3 files.
  Format complete in 9611ms.
Repro

.editorconfig

root = true

[*]
end_of_line = lf
indent_size = 4
indent_style = space
insert_final_newline = true
trim_trailing_whitespace = true

[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-Style.severity = warning
dotnet_diagnostic.IDE0022.severity = silent
dotnet_diagnostic.IDE0057.severity = error
dotnet_diagnostic.IDE0130.severity = silent

[*.cs]
csharp_style_expression_bodied_methods = when_on_single_line
csharp_style_namespace_declarations = file_scoped

Directory.Build.props

<Project>
  <PropertyGroup>
    <AnalysisMode>All</AnalysisMode>
    <EnableNETAnalyzers>true</EnableNETAnalyzers>
    <EnforceCodeStyleInBuild>true</EnforceCodeStyleInBuild>
    <GenerateDocumentationFile>true</GenerateDocumentationFile>
  </PropertyGroup>
</Project>

global.json

{
  "sdk": {
    "version": "8.0.203"
  }
}

Person.cs

namespace Project;

/// <summary>
/// A person.
/// </summary>
public class Person
{
    /// <summary>Gets or sets the name of the person.</summary>
    public string Name { get; set; } = string.Empty;

    /// <summary>Truncates the name to the specified length.</summary>
    /// <param name="length">The length to truncate the name to.</param>
    /// <returns>The truncated name.</returns>
    public string TruncateName(int length) => Name.Substring(0, length); // IDE0057
}

Project.csproj

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFramework>net8.0</TargetFramework>
    <AnalysisMode>All</AnalysisMode>
    <EnableGenerateDocumentationFile>true</EnableGenerateDocumentationFile>
    <EnableNETAnalyzers>true</EnableNETAnalyzers>
    <EnforceCodeStyleInBuild>true</EnforceCodeStyleInBuild>
  </PropertyGroup>
</Project>

@Gorphi
Copy link

Gorphi commented Apr 3, 2024

I observe the same behaviour.

dotnet format detects the issues and reports them. However, dotnet build does not report any errors, although I have enabled CodeAnalysisTreatWarningsAsErrors, TreatWarningsAsErrors and EnforceCodeStyleInBuild. This happens with dotnet SDK 8.0.203. Dotnet SDK 6.0.128 and 7.0.407 work as expected.

Used Project

Project tree

.
│   .editorconfig
│   AnalyzerDotNetSdkCheck.csproj
│   AnalyzerDotNetSdkCheck.sln
│   global.json
│
└───Test
        AnalyzerTestHeader.cs
        AnalyzerTestNamespace.cs

.editorconfig

root = true

[*]

file_header_template = ---TestHeader---
dotnet_style_namespace_match_folder = true:warning

dotnet_diagnostic.IDE0130.severity = warning
dotnet_diagnostic.IDE0073.severity = warning 

AnalyzerDotNetSdkCheck.csproj

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFramework>net6.0</TargetFramework>
    <LangVersion>latest</LangVersion>
    <CodeAnalysisTreatWarningsAsErrors>true</CodeAnalysisTreatWarningsAsErrors>
    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
    <EnforceCodeStyleInBuild>true</EnforceCodeStyleInBuild>
    <GenerateDocumentationFile>true</GenerateDocumentationFile>
    <Nullable>enable</Nullable>
    <ImplicitUsings>enable</ImplicitUsings>
    <NeutralLanguage>en</NeutralLanguage>
  </PropertyGroup>
</Project>

AnalyzerTestHeader.cs

The header is missing in this file.

namespace AnalyzerDotNetSdkCheck.Test
{
    /// <summary>
    /// Lorem Ipsum
    /// </summary>
    public class AnalyzerTestHeader
    {

    }
}

AnalyzerTestNamespace.cs

The namespace does not match the folder structure in this file.

// ---TestHeader---

namespace AnalyzerDotNetSdkCheck.Test.Analyzer
{
    /// <summary>
    /// Lorem Ipsum
    /// </summary>
    public class AnalyzerTestHeader
    {

    }
}

Output with dotnet SDK 6.0.128

global.json

{
  "sdk": {
    "version": "6.0.100",
    "rollForward": "latestFeature"
  }
}

dotnet version

> dotnet --version
6.0.128

dotnet build

> dotnet build .\AnalyzerDotNetSdkCheck.sln
Microsoft (R) Build Engine version 17.0.1+b177f8fa7 for .NET
Copyright (C) Microsoft Corporation. All rights reserved.

  Determining projects to restore...
  All projects are up-to-date for restore.
D:\WS\diverses\AnalyzerDotNetSdkCheck\Test\AnalyzerTestHeader.cs(1,1): error IDE0073: A source file is missing a required header. [D:\WS\diverses\AnalyzerDotNetSdkCheck\AnalyzerDotNetSdkCheck.csproj]
D:\WS\diverses\AnalyzerDotNetSdkCheck\Test\AnalyzerTestNamespace.cs(3,11): error IDE0130: Namespace "AnalyzerDotNetSdkCheck.Test.Analyzer" does not match folder structure, expected "AnalyzerDotNetSdkCheck.Test" [D:\WS\diverses\AnalyzerDotNetSdkCheck\AnalyzerDotNetSdkCheck.csproj]

Build FAILED.

D:\WS\diverses\AnalyzerDotNetSdkCheck\Test\AnalyzerTestHeader.cs(1,1): error IDE0073: A source file is missing a required header. [D:\WS\diverses\AnalyzerDotNetSdkCheck\AnalyzerDotNetSdkCheck.csproj]
D:\WS\diverses\AnalyzerDotNetSdkCheck\Test\AnalyzerTestNamespace.cs(3,11): error IDE0130: Namespace "AnalyzerDotNetSdkCheck.Test.Analyzer" does not match folder structure, expected "AnalyzerDotNetSdkCheck.Test" [D:\WS\diverses\AnalyzerDotNetSdkCheck\AnalyzerDotNetSdkCheck.csproj]
    0 Warning(s)
    2 Error(s)

Time Elapsed 00:00:00.90

dotnet format

> dotnet format --verify-no-changes .\AnalyzerDotNetSdkCheck.sln --verbosity diagnostic
  The dotnet runtime version is '8.0.3'.
  The dotnet CLI version is '6.0.128'.
  Using MSBuild.exe located in 'C:\Program Files\dotnet\sdk\6.0.128\'.
  Formatting code files in workspace 'D:\WS\diverses\AnalyzerDotNetSdkCheck\AnalyzerDotNetSdkCheck.sln'.
  Loading workspace.
    Determining projects to restore...
  All projects are up-to-date for restore.
  Project AnalyzerDotNetSdkCheck is using configuration from 'D:\WS\diverses\AnalyzerDotNetSdkCheck\.editorconfig'.
  Project AnalyzerDotNetSdkCheck is using configuration from 'D:\WS\diverses\AnalyzerDotNetSdkCheck\obj\Debug\net6.0\AnalyzerDotNetSdkCheck.GeneratedMSBuildEditorConfig.editorconfig'.
  Project AnalyzerDotNetSdkCheck is using configuration from 'C:\Program Files\dotnet\sdk\6.0.128\Sdks\Microsoft.NET.Sdk\analyzers\build\config\analysislevel_6_default.editorconfig'.
  Complete in 2569ms.
  Determining formattable files.
  Complete in 133ms.
  Running formatters.
  Running Code Style analysis.
  Determining diagnostics...
  Running 3 analyzers on AnalyzerDotNetSdkCheck.
D:\WS\diverses\AnalyzerDotNetSdkCheck\Test\AnalyzerTestHeader.cs(1,1): error IDE0073: A source file is missing a required header. [D:\WS\diverses\AnalyzerDotNetSdkCheck\AnalyzerDotNetSdkCheck.csproj]
D:\WS\diverses\AnalyzerDotNetSdkCheck\Test\AnalyzerTestNamespace.cs(3,11): error IDE0130: Namespace "AnalyzerDotNetSdkCheck.Test.Analyzer" does not match folder structure, expected "AnalyzerDotNetSdkCheck.Test" [D:\WS\diverses\AnalyzerDotNetSdkCheck\AnalyzerDotNetSdkCheck.csproj]
  Complete in 662ms.
  Analysis complete in 663ms.
  Running Analyzer Reference analysis.
  Determining diagnostics...
  Running 3 analyzers on AnalyzerDotNetSdkCheck.
D:\WS\diverses\AnalyzerDotNetSdkCheck\Test\AnalyzerTestHeader.cs(1,1): error IDE0073: A source file is missing a required header. [D:\WS\diverses\AnalyzerDotNetSdkCheck\AnalyzerDotNetSdkCheck.csproj]
D:\WS\diverses\AnalyzerDotNetSdkCheck\Test\AnalyzerTestNamespace.cs(3,11): error IDE0130: Namespace "AnalyzerDotNetSdkCheck.Test.Analyzer" does not match folder structure, expected "AnalyzerDotNetSdkCheck.Test" [D:\WS\diverses\AnalyzerDotNetSdkCheck\AnalyzerDotNetSdkCheck.csproj]
  Complete in 87ms.
  Analysis complete in 88ms.
  Complete in 1205ms.
  Formatted code file 'D:\WS\diverses\AnalyzerDotNetSdkCheck\Test\AnalyzerTestHeader.cs'.
  Formatted code file 'D:\WS\diverses\AnalyzerDotNetSdkCheck\Test\AnalyzerTestNamespace.cs'.
  Formatted 2 of 5 files.
  Format complete in 3920ms.

Output with dotnet SDK 7.0.407

global.json

{
  "sdk": {
    "version": "7.0.100",
    "rollForward": "latestFeature"
  }
}

dotnet version

> dotnet --version
7.0.407

dotnet build

> dotnet build .\AnalyzerDotNetSdkCheck.sln
MSBuild version 17.7.4+3ebbd7c49 for .NET
  Determining projects to restore...
  Restored D:\WS\diverses\AnalyzerDotNetSdkCheck\AnalyzerDotNetSdkCheck.csproj (in 81 ms).
D:\WS\diverses\AnalyzerDotNetSdkCheck\Test\AnalyzerTestHeader.cs(1,1): error IDE0073: A source file is missing a required header. (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/style-rules/ide0073) [D:\WS\diverses\AnalyzerDotNetSdkCheck\AnalyzerDotNetSdkCheck.csproj]
D:\WS\diverses\AnalyzerDotNetSdkCheck\Test\AnalyzerTestNamespace.cs(3,11): error IDE0130: Namespace "AnalyzerDotNetSdkCheck.Test.Analyzer" does not match folder structure, expected "AnalyzerDotNetSdkCheck.Test" (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/style-rules/ide0130) [D:\WS\diverses\AnalyzerDotNetSdkCheck\AnalyzerDotNetSdkCheck.cspro
j]

Build FAILED.

D:\WS\diverses\AnalyzerDotNetSdkCheck\Test\AnalyzerTestHeader.cs(1,1): error IDE0073: A source file is missing a required header. (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/style-rules/ide0073) [D:\WS\diverses\AnalyzerDotNetSdkCheck\AnalyzerDotNetSdkCheck.csproj]
D:\WS\diverses\AnalyzerDotNetSdkCheck\Test\AnalyzerTestNamespace.cs(3,11): error IDE0130: Namespace "AnalyzerDotNetSdkCheck.Test.Analyzer" does not match folder structure, expected "AnalyzerDotNetSdkCheck.Test" (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/style-rules/ide0130) [D:\WS\diverses\AnalyzerDotNetSdkCheck\AnalyzerDotNetSdkCheck.cspro
j]
    0 Warning(s)
    2 Error(s)

Time Elapsed 00:00:02.62

dotnet format

> dotnet format --verify-no-changes .\AnalyzerDotNetSdkCheck.sln --verbosity diagnostic
  The dotnet runtime version is '8.0.3'.
  The dotnet CLI version is '7.0.407'.
  Using MSBuild.exe located in 'C:\Program Files\dotnet\sdk\7.0.407\'.
  Formatting code files in workspace 'D:\WS\diverses\AnalyzerDotNetSdkCheck\AnalyzerDotNetSdkCheck.sln'.
  Loading workspace.
    Determining projects to restore...
  All projects are up-to-date for restore.
  Project AnalyzerDotNetSdkCheck is using configuration from 'D:\WS\diverses\AnalyzerDotNetSdkCheck\.editorconfig'.
  Project AnalyzerDotNetSdkCheck is using configuration from 'D:\WS\diverses\AnalyzerDotNetSdkCheck\obj\Debug\net6.0\AnalyzerDotNetSdkCheck.GeneratedMSBuildEditorConfig.editorconfig'.
  Project AnalyzerDotNetSdkCheck is using configuration from 'C:\Program Files\dotnet\sdk\7.0.407\Sdks\Microsoft.NET.Sdk\analyzers\build\config\analysislevel_6_default.editorconfig'.
  Complete in 2918ms.
  Determining formattable files.
  Complete in 130ms.
  Running formatters.
  Running Code Style analysis.
  Determining diagnostics...
  Running 5 analyzers on AnalyzerDotNetSdkCheck.
D:\WS\diverses\AnalyzerDotNetSdkCheck\Test\AnalyzerTestHeader.cs(1,1): error IDE0073: A source file is missing a required header. [D:\WS\diverses\AnalyzerDotNetSdkCheck\AnalyzerDotNetSdkCheck.csproj]
D:\WS\diverses\AnalyzerDotNetSdkCheck\Test\AnalyzerTestNamespace.cs(3,11): error IDE0130: Namespace "AnalyzerDotNetSdkCheck.Test.Analyzer" does not match folder structure, expected "AnalyzerDotNetSdkCheck.Test" [D:\WS\diverses\AnalyzerDotNetSdkCheck\AnalyzerDotNetSdkCheck.csproj]
  Complete in 715ms.
  Analysis complete in 715ms.
  Running Analyzer Reference analysis.
  Determining diagnostics...
  Running 142 analyzers on AnalyzerDotNetSdkCheck.
D:\WS\diverses\AnalyzerDotNetSdkCheck\Test\AnalyzerTestHeader.cs(1,1): error IDE0073: A source file is missing a required header. [D:\WS\diverses\AnalyzerDotNetSdkCheck\AnalyzerDotNetSdkCheck.csproj]
D:\WS\diverses\AnalyzerDotNetSdkCheck\Test\AnalyzerTestNamespace.cs(3,11): error IDE0130: Namespace "AnalyzerDotNetSdkCheck.Test.Analyzer" does not match folder structure, expected "AnalyzerDotNetSdkCheck.Test" [D:\WS\diverses\AnalyzerDotNetSdkCheck\AnalyzerDotNetSdkCheck.csproj]
  Complete in 217ms.
  Analysis complete in 222ms.
  Complete in 1703ms.
  Formatted code file 'D:\WS\diverses\AnalyzerDotNetSdkCheck\Test\AnalyzerTestHeader.cs'.
  Formatted code file 'D:\WS\diverses\AnalyzerDotNetSdkCheck\Test\AnalyzerTestNamespace.cs'.
  Formatted 2 of 5 files.
  Format complete in 4764ms.

Output with dotnet SDK 8.0.203

global.json

{
  "sdk": {
    "version": "8.0.100",
    "rollForward": "latestFeature"
  }
}

dotnet version

> dotnet --version
8.0.203

dotnet build

> dotnet build .\AnalyzerDotNetSdkCheck.sln
MSBuild version 17.9.6+a4ecab324 for .NET
  Determining projects to restore...
  All projects are up-to-date for restore.
  AnalyzerDotNetSdkCheck -> D:\WS\diverses\AnalyzerDotNetSdkCheck\bin\Debug\net6.0\AnalyzerDotNetSdkCheck.dll

Build succeeded.
    0 Warning(s)
    0 Error(s)

Time Elapsed 00:00:03.10

dotnet format

> dotnet format --verify-no-changes .\AnalyzerDotNetSdkCheck.sln --verbosity diagnostic
  The dotnet runtime version is '8.0.3'.
  The dotnet CLI version is '8.0.203'.
  Using MSBuild.exe located in 'C:\Program Files\dotnet\sdk\8.0.203\'.
  Formatting code files in workspace 'D:\WS\diverses\AnalyzerDotNetSdkCheck\AnalyzerDotNetSdkCheck.sln'.
  Loading workspace.
    Determining projects to restore...
  All projects are up-to-date for restore.
  Project AnalyzerDotNetSdkCheck is using configuration from 'D:\WS\diverses\AnalyzerDotNetSdkCheck\.editorconfig'.
  Project AnalyzerDotNetSdkCheck is using configuration from 'D:\WS\diverses\AnalyzerDotNetSdkCheck\obj\Debug\net6.0\AnalyzerDotNetSdkCheck.GeneratedMSBuildEditorConfig.editorconfig'.
  Project AnalyzerDotNetSdkCheck is using configuration from 'C:\Program Files\dotnet\sdk\8.0.203\Sdks\Microsoft.NET.Sdk\analyzers\build\config\analysislevel_6_default_warnaserror.globalconfig'.
  Complete in 2563ms.
  Determining formattable files.
  Complete in 140ms.
  Running formatters.
  Running Code Style analysis.
  Determining diagnostics...
  Running 5 analyzers on AnalyzerDotNetSdkCheck.
D:\WS\diverses\AnalyzerDotNetSdkCheck\Test\AnalyzerTestHeader.cs(1,1): error IDE0073: A source file is missing a required header. [D:\WS\diverses\AnalyzerDotNetSdkCheck\AnalyzerDotNetSdkCheck.csproj]
D:\WS\diverses\AnalyzerDotNetSdkCheck\Test\AnalyzerTestNamespace.cs(3,11): error IDE0130: Namespace "AnalyzerDotNetSdkCheck.Test.Analyzer" does not match folder structure, expected "AnalyzerDotNetSdkCheck.Test" [D:\WS\diverses\AnalyzerDotNetSdkCheck\AnalyzerDotNetSdkCheck.csproj]
  Complete in 696ms.
  Analysis complete in 701ms.
  Running Analyzer Reference analysis.
  Determining diagnostics...
  Running 141 analyzers on AnalyzerDotNetSdkCheck.
  Complete in 192ms.
  Analysis complete in 202ms.
  Complete in 1695ms.
  Formatted code file 'D:\WS\diverses\AnalyzerDotNetSdkCheck\Test\AnalyzerTestHeader.cs'.
  Formatted code file 'D:\WS\diverses\AnalyzerDotNetSdkCheck\Test\AnalyzerTestNamespace.cs'.
  Formatted 2 of 5 files.
  Format complete in 4405ms.

@marcpopMSFT
Copy link
Member

@jaredpar can I get permissions to transfer things over to the Roslyn repos?

@jaredpar
Copy link
Member

@marcpopMSFT I'm not sure what permission you need. Do you know

@jaredpar jaredpar transferred this issue from dotnet/sdk Apr 29, 2024
@jaredpar
Copy link
Member

@ToddGrun, @arkalyanms looks to be another variation of the editor config regressions

@genlu genlu added Bug Editor Config and removed untriaged Issues and PRs which have not yet been triaged by a lead labels Apr 30, 2024
@arkalyanms arkalyanms assigned ToddGrun and unassigned marcpopMSFT May 1, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

10 participants