在.NET Core的完整/核心平台中启用DataAnnotations

时间:2016-04-10 21:22:57

标签: c# asp.net-core .net-core

我创建了一个.NET Core(包)库项目,它有一个这样的类:

public class Subscriber //: Representation
{
    [Required]
    public SubscriberDef Info;
    public Guid ProviderID;
}

无论我做什么,编译器都不满意[Required]属性。我经常告诉你:

NET Framework 4.5.1 - Not Available
NET Platform 5.4 - Available

我的project.json最初看起来像这样:

"frameworks": {
  "net451": {
    "dependencies": {
      "WebApi.Hal": "2.6.0",
    }
  },
  "dotnet5.4": {
    "dependencies": {
      "Microsoft.CSharp": "4.0.1-beta-23516",
      "System.Collections": "4.0.11-beta-23516",
      "System.Linq": "4.0.1-beta-23516",
      "System.Runtime": "4.0.21-beta-23516",
      "System.Threading": "4.0.11-beta-23516",
    }
  }
},
"dependencies": {
  "Excqape": "0.7.0",
  "System.ComponentModel.Annotations": "4.0.11-beta-23516"
}

我尝试将目标框架名字对象(TFM)从net451切换到net46。没运气。我尝试了不同版本的System.ComponentModel.Annotations用于两个框架,但仍然没有运气。

这使得特别奇怪的是,如果我创建一个ASP.NET Core项目,那么我可以自由地拥有两个框架,其中数据注释得到尊重并将进行编译:

"frameworks": {
  "dnx46": { },
  "dnxcore50": { }
},

我认为如果数据注释在ASP.NET Core中运行,那么他们肯定也能在.NET Core中工作吗?

我做错了什么,或者数据注释目前是否真的无法用于.NET Core fullCLR?

1 个答案:

答案 0 :(得分:3)

http://packagesearch.azurewebsites.net/?q=requiredattribute

这是一个新平台,所以首先请学习如何搜索您需要的NuGet包。