Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/261.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.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
C# 将PCL中的System.ComponentModel.DataAnnotations与WinPhone一起使用,如下所示;microsoft bcl便携包“;?_C#_.net_Portable Class Library - Fatal编程技术网

C# 将PCL中的System.ComponentModel.DataAnnotations与WinPhone一起使用,如下所示;microsoft bcl便携包“;?

C# 将PCL中的System.ComponentModel.DataAnnotations与WinPhone一起使用,如下所示;microsoft bcl便携包“;?,c#,.net,portable-class-library,C#,.net,Portable Class Library,我有一个可移植类库,目标如下: .NET+Silverlight+WinRT+WinPhone+Android+iOS WinPhone中不存在“System.ComponentModel.DataAnnotations”名称apce 所以在我的代码中我无法访问该名称空间 如何像“microsoft bcl便携包”一样解决此问题 此包提供对属性和类(如“CallerMemberNameAttribute”)的访问,但在运行时,它将这些类映射到它们的等效实现(如果存在) 从“”: 这些类型“统一”

我有一个可移植类库,目标如下:

.NET+Silverlight+WinRT+WinPhone+Android+iOS

WinPhone中不存在“System.ComponentModel.DataAnnotations”名称apce

所以在我的代码中我无法访问该名称空间

如何像“microsoft bcl便携包”一样解决此问题

此包提供对属性和类(如“CallerMemberNameAttribute”)的访问,但在运行时,它将这些类映射到它们的等效实现(如果存在)

从“”:


这些类型“统一”到它们的更高版本。例如,在.NET Framework 4.5上运行时,运行时会将此包中的IProgress视为与平台中已有的IProgress相同的类型。

您应该能够使用

在本例中,您将创建数据注释属性的可移植实现,并且在支持“真实”版本的平台上,“切换”到一个库,该库将键入转发到这些版本。另见此答案:

如果你这么做了,如果你能把它作为一个OSS项目和一个包发布在NuGet上,这样其他人就可以从中受益,那就太好了。这是一个相当常见的请求。

有人这样做了:,请安装Package Portable.DataAnnotations。