Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 引用类型';System.IConvertible';声明它是在程序集mscorlib中定义的_Ios_Macos_Xamarin_Mono_Xamarin.forms - Fatal编程技术网

Ios 引用类型';System.IConvertible';声明它是在程序集mscorlib中定义的

Ios 引用类型';System.IConvertible';声明它是在程序集mscorlib中定义的,ios,macos,xamarin,mono,xamarin.forms,Ios,Macos,Xamarin,Mono,Xamarin.forms,每当我试图在iOS框架中引用NUNIT数据类型时,就会出现一个编译器错误,说它找不到IConvertible类型 错误CS7069:对类型系统的引用。IConvertible'声称它是已定义的程序集mscorlib,版本=4.0.0.0,区域性=中性,PublicKeyToken=b77a5c561934e089',但找不到它(CS7069)(逻辑) 我可以通过创建一个全新的Xamarin.Forms项目来复制这一点,该项目只针对iOS 创建之后,我立即添加了第二个Xamarin.Forms项

每当我试图在iOS框架中引用
NUNIT
数据类型时,就会出现一个编译器错误,说它找不到
IConvertible
类型

错误CS7069:对类型
系统的引用。IConvertible'声称它是已定义的程序集
mscorlib,版本=4.0.0.0,区域性=中性,PublicKeyToken=b77a5c561934e089',但找不到它(CS7069)(逻辑)

我可以通过创建一个全新的Xamarin.Forms项目来复制这一点,该项目只针对iOS

创建之后,我立即添加了第二个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添加它。NuGet只有Xamarin.Forms.dll可用

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


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

Xamarin要求PCL不依赖于平台。如果您有一个NUnit项目需要访问特定于Xamarin.iOS的引用,那么您需要在iOS项目/iOS PCL中构建

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