我正在尝试在为Xamarin.Android应用程序构建的可移植类库中使用一些类,如NotifyCollectionChangedEventArgs和NotifyCollectionChangedAction。这些是System.Collections.Specialized命名空间的一部分。
每当我尝试编译此PCL库时,编译器都会将上述命名空间报告为缺失。我找不到会导致此错误消失的PCL配置文件。
我想知道是否可以在PCL配置文件中使用此命名空间,或者在Xamarin.Android和Xamarin.iOS平台上使用它的选项是什么?
答案 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的配置文件不同的东西,希望将来能够更容易地实现这一目标。