Yas*_*adi 6 .net c# portable-class-library
我有一个便携式类库,其目标如下:
.NET + Silverlight + WinRT + WinPhone + Android + iOS
WinPhone中不存在"System.ComponentModel.DataAnnotations" namesapce
所以我在代码中无法访问该命名空间
如何像"microsoft bcl portability pack"一样解决这个问题
此包提供对诸如"CallerMemberNameAttribute"之类的属性和类的访问,但在运行时它将这些类映射到它们的等效实现(如果存在).
来自" http://www.nuget.org/packages/Microsoft.Bcl/ ":
这些类型与其后来的版本等效"统一".例如,在.NET Framework 4.5上运行时,运行时将看到此程序包中的IProgress与平台中已有的类型相同.
您应该能够使用“诱饵和切换”PCL 技术来做到这一点。
在这种情况下,您将创建数据注释属性的可移植实现,并在支持“真实”版本的平台上“切换”到类型转发到这些版本的库。另请参阅此答案:/sf/answers/1123266791/
如果您这样做,如果您可以将其作为 OSS 项目和 NuGet 上的包发布,以便其他人可以从中受益,那就太好了。这是一个相当常见的请求。