【问题标题】:HijriCalendar does not exist回历日历不存在
【发布时间】:2018-05-05 14:52:20
【问题描述】:

我正在尝试在我的 Xamarin 应用程序中获取当前的回历日期。

我试过了:

Calendar hijri = new HijriCalendar();

Calendar hijri = new HijriCalendar();

但得到:

错误 CS0246:找不到类型或命名空间名称“HijriCalendar”(您是否缺少 using 指令或程序集引用?) (CS0246)

虽然我已经添加了:

using System.Globalization

【问题讨论】:

  • 添加包System.Globalization.Calendars

标签: xamarin xamarin.forms globalization cultureinfo hijri


【解决方案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. 添加回 NuGet(只需打开 packages.config,然后添加上面的包引用,或通过 NuGet 包管理器。

  2. 删除 AssemblyInfo.cs(现在在 csproj 中)和 packages.config(也在 csproj 中通过 PackageReference)

Original gist

如果您使用 Visual Studio for Mac,您可以使用 an extension 自动转换项目类型。

P.S.:或者按照 SushiHangover 的建议,您可以添加 NuGet 包。但是,我建议尽快切换到 .NET Standard。
P.S.S:更多关于 .NET Standard here.

【讨论】:

  • 我正在使用 Visual Studio for Mac,但我不明白第 3 点和第 4 点。我应该添加哪个包?
  • 如果你在 Mac 上使用 Mutatio => github.com/yuv4ik/Mutatio 它是一个会自动为你转换项目的扩展。检查我分享的链接中的安装部分。
  • 如果您仍想手动转换项目,请查看下一个视频:youtube.com/watch?v=F0VWCmj2adw
  • 没有看到手动操作的意义,因为有一种方法可以自动化该过程。顺便说一句,我是这个扩展的作者。
  • 我开始手动操作 :) 我有一个问题请在这里.. 我是否还需要添加包,例如 Microsoft.NETCore.Platforms、Microsoft.NETCore.Targets、NETStandard.Library、System。 IO、System.Runtime 等
猜你喜欢
  • 2020-05-06
  • 1970-01-01
  • 1970-01-01
  • 2021-11-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多