dotnet / roslyn

The Roslyn .NET compiler provides C# and Visual Basic languages with rich code analysis APIs.
https://docs.microsoft.com/dotnet/csharp/roslyn-sdk/
MIT License
19.05k stars 4.03k forks source link

GenerateMSBuildEditorConfig task breaks incremental build on Windows when using different casing paths #75834

Open vaboca opened 5 hours ago

vaboca commented 5 hours ago

Version Used: 17.10.4+10fbfbf2e

Steps to Reproduce:

  1. Have a dummy under X\x.csproj (sdk)
  2. Build from some y\dirs.proj with ProjectReference="..\X\x.csproj" -> full build
  3. Build from another z\dirs.proj with ProjectReference=..\x\x.csproj" -> will trigger full build because path is invoked with lower case "x\"

Diagnostic Id: Using "GenerateMSBuildEditorConfig" task from assembly "Current\bin\Roslyn\Microsoft.Build.Tasks.CodeAnalysis.dll"

Input file "x\obj\amd64\LegacyUri.UnitTests.Core.GeneratedMSBuildEditorConfig.editorconfig" is newer than output file

Expected Behavior: No recompilton CoreCompile should happen on Windows because the paths are identical, just casing is different.

vaboca commented 5 hours ago

Tagging @rainersigwald