Asp.Net 5类库DataAnnotation错误

时间:2015-12-15 17:37:00

标签: asp.net data-annotations

我刚刚在我的新解决方案中添加了一个类库项目,并且只给出了新类库类型的选项。我创建了我的域类,它使用System.Component.DataAnnotations中的EF数据注释。这些类本身没有错误,但项目不会构建。我收到了这些错误。

  

严重级代码说明项目文件行   错误CS0234命名空间'System.ComponentModel'中不存在类型或命名空间名称'DataAnnotations'(您是否缺少程序集引用?)TraderToolkit2016.DomainClasses..NET Platform 5.4 C:\ Users \ Thomas Donino \ Documents \ GitHubVisualStudio \ TraderToolkit2016 \ TraderToolkit2016.DomainClasses \ AppClasses \ DailyClose.cs

我引用了程序集。为什么我会收到这些错误?

这是我的project.json文件,从VS右键单击自动添加DataAnnotations。

{
 "version": "1.0.0-*",
 "description": "TraderToolkit2016.DomainClasses Class Library",
 "authors": [ "Thino" ],
 "tags": [ "" ],
 "projectUrl": "",
 "licenseUrl": "",

 "frameworks": {
   "net451": {
     "frameworkAssemblies": {
       "System.ComponentModel.DataAnnotations": "4.0.0.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"
     }
   }
 }
}

1 个答案:

答案 0 :(得分:1)

这意味着您正在使您的项目与2个平台兼容。一个是net451,另一个是dotnet5.4。

"frameworks": {
   "net451": {
     "frameworkAssemblies": {
       "System.ComponentModel.DataAnnotations": "4.0.0.0"
     }
   },

这意味着您已将System.ComponentModel.DataAnnotations的引用仅添加到net451目标。这就是你得到以下错误的原因:

are you missing an assembly reference?) TraderToolkit2016.DomainClasses..NET Platform 5.4 

请注意错误消息末尾的5.4。

现在解决方案是删除dotnet5.4,如果你不需要它,或者也将System.ComponentModel.DataAnnotations的引用添加到dotnet5.4。您可以通过简单地安装此nuget包来实现:

https://www.nuget.org/packages/System.ComponentModel.Annotations/4.0.11-beta-23516

或者只是修改文件,使其看起来像这样:

"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"
       "System.ComponentModel.Annotations": "4.0.11-beta-23516"
     }
   }