是否在Xamarin.Android的PCL配置文件中提供了System.Collections.Specialized?

时间:2016-07-02 20:08:00

标签: .net xamarin xamarin.ios xamarin.android portable-class-library

我正在尝试在为Xamarin.Android应用程序构建的可移植类库中使用一些类,如NotifyCollectionChangedEventArgs和NotifyCollectionChangedAction。这些是System.Collections.Specialized命名空间的一部分。

每当我尝试编译此PCL库时,编译器都会将上述命名空间报告为缺失。我找不到会导致此错误消失的PCL配置文件。

我想知道是否可以在PCL配置文件中使用此命名空间,或者在Xamarin.Android和Xamarin.iOS平台上使用它的选项是什么?

1 个答案:

答案 0 :(得分:2)

答案是肯定的。但是,它很可能取决于您选择的PCL配置文件。因此,如果您的目标是Silverlight,这些可能无法使用。

但是,创建新的PCL配置文件78可以正常工作,这些命名空间是可解析的,并且在将对象添加到ObservableCollection时事件会正常触发。

编辑:

配置文件78包括:.NET 4.5或更高版本,Windows 8或更高版本,WinPhone 8或更高版本,Winphone Silverlight 8,商店应用程序(Windows 8)和Xamarin

为了消除Silverlight,此配置文件支持NotifyPropertyChanged和CollectionChanged所需的两个命名空间。转到项目属性(右键单击>属性)。在“库”选项卡中,只需按“更改”并取消选择与Silverlight相关的任何内容。它应该切换到没有Silverlight的配置文件。这将导致Profile 7。

现在,微软和NuGet团队正在转向与这些名为Netstandard的配置文件不同的东西,希望将来能够更容易地实现这一目标。