GitLab поставляет неправильную кодировку C#. Способы исправить это - PullRequest
1 голос
/ 30 января 2020

GitLab поставляет неправильную кодировку C#. Может быть, кто-то знает причину этого и способ это исправить?

Я работаю над проектом около 3 месяцев. Все это время я работал из офиса, поэтому мне не приходилось развертывать проект локально на моем домашнем компьютере, только на рабочем компьютере. Там на работе мне как-то удалось успешно развернуть проект, но здесь, дома, при развертывании и настройке всего, я сталкиваюсь с ошибками в проекте.

Все из-за этого куска кода:

public static object ParseReferred(this JObject item, JsonSerializer serializer, RetypeEnum retype)
{
   if (item == null)
   {
      return null;
   }

   if (retype == RetypeEnum.)
   {
      return serializer.Deserialize(item.CreateReader(), typeof(TypeRegNumber));
   }

   return serializer.Deserialize(item.CreateReader(), typeof(TypeTaskNumber));
}

Вот как я вижу этот фрагмент в GitLab:

enter image description here

Вот необработанное представление GitLab: enter image description here

Необработанный код:

public static object ParseReferred(this JObject item, JsonSerializer serializer, RetypeEnum retype)
    {
        if (item == null)
        {
            return null;
        }

        if (retype == RetypeEnum.�)
        {
            return serializer.Deserialize(item.CreateReader(), typeof(TypeRegNumber));
        }

        return serializer.Deserialize(item.CreateReader(), typeof(TypeTaskNumber));
    }

Я подозреваю, что единственным, кто мог помочь мне с этой проблемой, был руководитель моей команды. Итак, я спросил его, что я мог с этим поделать. Он предложил следующее: очистить кеш NuGet, восстановить NuGets, очистить решение, а затем пересобрать решение. Я следовал за шагами, но безуспешно. Я чувствую себя очень глупо, я, должно быть, что-то упустил.

Правда ли, что единственный способ решить эту проблему - это общаться с кем-то, кто когда-то знал кодовую базу? Или есть другие возможные способы исследования проблемы? Я действительно застрял, я не знаю, что я могу попытаться исследовать проблему.

Когда я наводю курсор на символ, вот что я вижу:

enter image description here

'RetypeEnum' не содержит определения для 'ä'

Когда я открываю определение RetypeEnum (по Ctrl + нажмите на RetypeEnum ) вот что я вижу: enter image description here

#region Assembly foo, Version=2.0.8.0, Culture=neutral, PublicKeyToken=null
// foo.dll
#endregion

using System.CodeDom.Compiler;

namespace foo
{
    [GeneratedCode("xsd", "4.6.1055.0")]
    public enum RetypeEnum
    {
        д = 0,
        з = 1
    }
}

1 Ответ

2 голосов
/ 30 января 2020

Попробуйте проверить окончания строк в кодовых файлах.

...