HijriCalendar не существует

Я пытаюсь получить текущую дату Хиджры в моем приложении Xamarin.

Я старался:

Calendar hijri = new HijriCalendar();

а также

Calendar hijri = new HijriCalendar();

но получая:

Ошибка CS0246: не удалось найти тип или имя пространства имен "HijriCalendar" (отсутствует директива using или ссылка на сборку?) (CS0246)

хотя я уже добавил:

using System.Globalization

1 ответ

Решение

HijriCalendar доступно в .NET Standard, а не в старых добрых PCL.

Поэтому обновите ваш проект до последней и лучшей версии.NET Standard 2.0:

  1. Выгрузите ваш проект PCL (щелкните правой кнопкой мыши -> выгрузить) и начните его редактирование (щелкните правой кнопкой мыши -> нажмите Изменить).
  2. Удалите все в csproj и вставьте это:

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFramework>netstandard2.0</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
    <!--<PackageReference Include="" Version=""/>-->
  </ItemGroup>

</Project>

  1. Добавьте обратно NuGets (просто откройте packages.config и добавьте ссылки на пакеты выше или через менеджер пакетов NuGet.

  2. Удалите AssemblyInfo.cs (теперь это в csproj) и packages.config (также в csproj через PackageReference)

Оригинальная суть.

Если вы работаете с Visual Studio для Mac, вы можете использовать расширение для автоматического преобразования типа проекта.

PS: В качестве альтернативы, как предложено SushiHangover, вы можете добавить пакет NuGet. Тем не менее, я бы порекомендовал перейти на.NET Standard как можно скорее.
PSS: Подробнее о.NET Standard здесь.

Другие вопросы по тегам