Сборка Dotnet работает в Windows, но ошибка в Linux: неожиданный символ '`'Linux

Ответить
Anonymous
 Сборка Dotnet работает в Windows, но ошибка в Linux: неожиданный символ '`'

Сообщение Anonymous »

В Windows проект компилируется без проблем, но в контейнере Linux Ä Ö Ü не распознаются. Это приводит к следующей ошибке:

Код: Выделить всё

error CS1056: Unexpected character '�'
Мы нашли быстрый обходной путь, сохранив затронутый файл с помощью параметра «Сохранить как» → «Сохранить с кодировкой» → UTF-8 с подписью. Однако это решение не является идеальным, так как делать это вручную для всего проекта было бы очень трудоемко.
Конечно, мы могли бы написать сценарий PowerShell для автоматизации процесса, но мы обеспокоены тем, что Visual Studio может игнорировать определенные переменные или конфигурации при работе в Linux.
Есть ли у вас какие-либо предложения или опыт по эффективному и устойчивому решению этой проблемы? Какой вариант лучше всего использовать?
Что мы пробовали до сих пор (безуспешно):
Использование параметров проекта во время сборки:

Код: Выделить всё

dotnet publish "formularserver_NET8_Linux.sln" --no-restore -c Release -o /app/publish -p:TargetFramework=net8.0 -p:CodePage=65001
dotnet publish "formularserver_NET8_Linux.sln" --no-restore -c Release -o /app/publish -p:TargetFramework=net8.0 -p:OutputEncoding=utf-8
Изменения в Directory.Build.props:
xml
Копировать код: Изменения в файле проекта:
xml
Копирование кода

Код: Выделить всё

true
utf-8 

Модификация кода при запуске приложения:

Код: Выделить всё

Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
Console.OutputEncoding = Encoding.UTF8;
Переменная среды для полной поддержки глобализации:

Код: Выделить всё

export DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=false
Конфигурация в settings.json для VS Code:
json

Код: Выделить всё

"files.encoding": "utf8"
Заранее спасибо!

Подробнее здесь: https://stackoverflow.com/questions/792 ... -character
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Linux»