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

inconsistent file encoding in ProjectTemplates #57679

Open
1 task done
zivillian opened this issue Sep 3, 2024 · 1 comment
Open
1 task done

inconsistent file encoding in ProjectTemplates #57679

zivillian opened this issue Sep 3, 2024 · 1 comment
Labels
area-mvc Includes: MVC, Actions and Controllers, Localization, CORS, most templates

Comments

@zivillian
Copy link

zivillian commented Sep 3, 2024

Is there an existing issue for this?

  • I have searched the existing issues

Describe the bug

This is a successor of #11530.

All .cshtml and .razor files have UTF-8 encoding with BOM. All .cs files have no BOM. This in combination with Visual Studio results in files being saved in ANSII (or system code page) encoding.

We've hit this problem when adding an error to the ModelState in the code behind file:

ModelState.AddModelError(string.Empty, "This is an error with än umlaut.");

Visual Studio will not save this with UTF-8 encoding and this will break the error message in the browser.

Expected Behavior

To work around the Visual Studio behaviour, all templates files should be in UTF-8 encoding with BOM.

Steps To Reproduce

  1. add a new razor page (either via context menu in VS or dotnet new page --name Umlaut --namespace YourApp.Pages --output Pages)
  2. in Visual Studio add an Umlaut (ModelState.AddModelError(String.Empty, "Än Umlaut");)
  3. build on linux dotnet build -c release
  4. the binary contains a unicode replacement character which will be rendered in the markup

a minimal repro is available at unicorn-development/aspnetcore57679

Exceptions (if any)

No response

.NET Version

8.0

Anything else?

No response

@dotnet-issue-labeler dotnet-issue-labeler bot added the area-mvc Includes: MVC, Actions and Controllers, Localization, CORS, most templates label Sep 3, 2024
@zivillian
Copy link
Author

dotnet/roslyn#11932 may explain, why it only breaks when compiling on linux.

In our scenario we are developing on windows, but running the build in Azure DevOps on ubuntu because it's way faster during the restore.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-mvc Includes: MVC, Actions and Controllers, Localization, CORS, most templates
Projects
None yet
Development

No branches or pull requests

1 participant