无论何时我尝试在iOS框架中引用NUNIT
数据类型,我都会收到编译错误,说它无法找到IConvertible
类型
错误CS7069:引用类型
System.IConvertible' claims it is defined assembly
mscorlib,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089',但无法找到(CS7069)(逻辑)
我能够通过创建一个仅针对iOS的全新Xamarin.Forms项目来重现这一点。
创建之后,我立即添加了第二个Xamarin.Forms项目,这次是PCL。
然后我需要添加Xamarin.iOS库,以便我可以引用iOS特定的API,特别是Photos API。我通过导航到
来做到这一点〜/库/框架/ Xamarin.iOS.framework /版本/ 9.0.1.29 / LIB /单声道/ 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。
在尝试了几种不同的组合后,我认为我有一个有效的解决方案。我没有创建一个Xamarin.Forms库,而是创建了一个普通的iOS PCL库。这解决了这个问题。
我不知道为什么Xamarin.Forms库不起作用。它不打算用于特定于平台的代码吗?
答案 0 :(得分:1)
Xamarin.iOS.dll只能从iOS相关项目中引用。