-
-
Notifications
You must be signed in to change notification settings - Fork 131
Description
Hi! Loving CSharpier - thanks for making my code look sharp. I just hit a snag with the .NET 10 preview single-file script flow: the new #: file-level directives (and the shebang line) get treated as preprocessor directives, so CSharpier bails out with CS1024
.
Input:
#!/usr/bin/dotnet run
// To run on Linux:
// chmod +x test.cs
// ./test.cs
#:sdk Microsoft.NET.Sdk.Web
#:package Microsoft.Playwright@1.*-*
#:package Microsoft.Playwright.TestAdapter@1.*-*
using Microsoft.Playwright;
Console.WriteLine("Starting Playwright...");
return;
Output (from csharpier auto-stimulation.cs):
csharpier format .\test.cs
Error .\test.cs - Failed to compile so was not formatted.
(1,1): error CS1024: Preprocessor directive expected
(7,1): error CS1024: Preprocessor directive expected
(8,1): error CS1024: Preprocessor directive expected
(9,1): error CS1024: Preprocessor directive expected
Formatted 1 files in 231ms.
Treat the #!/usr/bin/dotnet run shebang and each #: line (#:sdk, #:package, etc.) as the new file-level directives introduced for .NET 10 file-based apps, not as classic preprocessor directives.
Format the rest of the file normally without throwing CS1024.
Notes:
Feature details: “Announcing dotnet run app.cs – A simpler way to start with C# and .NET 10” (https://devblogs.microsoft.com/dotnet/announcing-dotnet-run-app/).
Environment tested:
csharpier 1.0.3
Microsoft.AspNetCore.All 2.1.30 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.App 2.1.30 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 3.1.32 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 5.0.17 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 6.0.36 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 7.0.20 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 8.0.17 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 9.0.6 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 10.0.0-preview.5.25277.114 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.NETCore.App 2.1.30 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 3.1.32 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 5.0.17 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 6.0.36 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 7.0.20 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 8.0.17 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 9.0.6 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 10.0.0-preview.5.25277.114 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.WindowsDesktop.App 3.1.32 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
Microsoft.WindowsDesktop.App 5.0.17 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
Microsoft.WindowsDesktop.App 6.0.36 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
Microsoft.WindowsDesktop.App 7.0.20 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
Microsoft.WindowsDesktop.App 8.0.17 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
Microsoft.WindowsDesktop.App 9.0.6 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
Microsoft.WindowsDesktop.App 10.0.0-preview.5.25277.114 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
Happy to provide extra logs or try experimental builds if it helps!