【发布时间】:2015-10-17 02:34:13
【问题描述】:
每当我尝试在 iOS 框架中引用 NUNIT 数据类型时,都会收到编译器错误,提示找不到 IConvertible 类型
错误 CS7069:引用类型
System.IConvertible' claims it is defined assemblymscorlib,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089',但找不到 (CS7069)(逻辑)
我能够通过创建一个仅针对 iOS 的全新 Xamarin.Forms 项目来重现这一点。
创建后,我立即添加了第二个 Xamarin.Forms 项目,这次是 PCL。
然后我需要添加 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 库不起作用。它不打算用于特定于平台的代码吗?
【问题讨论】:
标签: ios macos xamarin mono xamarin.forms