gpt4 book ai didi

ios - 对类型 'System.IConvertible' 的引用声称它是在程序集 mscorlib 中定义的

转载 作者:行者123 更新时间:2023-11-29 12:12:00 24 4
gpt4 key购买 nike

每当我尝试在 iOS 框架中引用 NUNIT 数据类型时,都会收到一个编译器错误,提示它找不到 IConvertible 类型

Error CS7069: Reference to type System.IConvertible' claims it is defined assemblymscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089', but it could not be found (CS7069) (logic)

我能够通过创建一个仅针对 iOS 的全新 Xamarin.Forms 项目来重现这一点。

enter image description here

创建它后,我立即添加了第二个 Xamarin.Forms 项目,这次是 PCL。

enter image description here

然后我需要添加 Xamarin.iOS 库,以便我可以引用 iOS 特定的 API,特别是照片 API。我通过导航到

~/Library/Frameworks/Xamarin.iOS.framework/Versions/9.0.1.29/lib/mono/Xamarin.iOS/Xamarin.iOS.dll

最后,我向新的 PCL 项目添加了一个空白类,并创建了一个本地范围的 NUNIT 字段。这是编译器错误发生的地方。在我当前的项目中,当我尝试获取 PHAssetCollection 中的照片数量时会发生这种情况,因为这是一种 NUNIT 数据类型。

using System;

namespace logic
{
public class EmptyClass
{
public EmptyClass()
{
nuint test = 5;
}
}
}

这给了我上面提到的编译器错误。我该如何解决这个问题?这对我来说已经成为一个阻碍问题,我引用了错误的 Xamarin.iOS.dll 吗?当我扫描它们时,它在 nuget 包列表中不可用,所以我无法通过 NuGet 添加它。 NuGet 只有 Xamarin.Forms.dll 可用。

更新1

在尝试了几种不同的组合之后,我认为我有了一个可行的解决方案。我没有创建 Xamarin.Forms 库,而是创建了一个普通的 iOS PCL 库。这解决了那个问题。

我不知道为什么 Xamarin.Forms 库不起作用。它不打算用于特定于平台的代码吗?

最佳答案

Xamarin Forms PCL 需要与平台无关。如果您有一个需要访问 Xamarin.iOS 特定引用的 NUnit 项目,那么您需要在 iOS 项目/iOS PCL 中构建。

Xamarin.iOS.dll 只能从 iOS 相关项目中引用。

关于ios - 对类型 'System.IConvertible' 的引用声称它是在程序集 mscorlib 中定义的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33182143/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com