我正在尝试在WPF项目中使用DataAnnotations来指定字符串的最大长度,并具有以下内容:
using System.ComponentModel.DataAnnotations;
但是,我得到了错误
类型或名称空间名称“ DataAnnotations”在名称空间“ System.ComponentModel”中不存在(您是否缺少程序集引用?)
我看过其他示例,该名称空间中DataAnnotations 确实存在。我正在使用C#4。有什么原因我不能使用这个吗?我该如何解决?
我正在尝试在WPF项目中使用DataAnnotations来指定字符串的最大长度,并具有以下内容:
using System.ComponentModel.DataAnnotations;
但是,我得到了错误
类型或名称空间名称“ DataAnnotations”在名称空间“ System.ComponentModel”中不存在(您是否缺少程序集引用?)
我看过其他示例,该名称空间中DataAnnotations 确实存在。我正在使用C#4。有什么原因我不能使用这个吗?我该如何解决?
System.ComponentModel并在其中使用了其他各种组件。根据下面的@Hari,它似乎DataAnnotations存在于其自己的程序集中。我以为它会存在于System.ComponentModel同一个命名空间中。
Answers:
我也遇到了同样的问题,因此通过在我的一个项目中添加了没有提到的参考文献的参考文献来解决。如果您的解决方案中有2-3个项目,则可以通过将此引用添加到其他项目中来进行检查。
为您的项目使用FrameWork 4.5及更高版本,然后解决问题。因为此命名空间低于4.5及更高版本。
我发现无法使用以下版本的(1)来引用Silverlight 5中的System.ComponentModel.DataAnnotations。我发现Silverlight 5程序集不能使用.NET程序集,它给出错误“您不能添加对System.ComponentModel.DataAnnotations的引用,因为它不是针对Silverlight运行时构建的。...”我计划通过以下方法解决此问题希望安装下面(2)处的Silverlight 5软件包。如果失败,我将更新此帖子。
[更新:失败。我安装了与Silverlight 5相关的所有内容,但没有.dll程序集System.ComponentModel.DataAnnotations的Silverlight版本。太糟糕了。更新II:我从以前安装的针对Visual Studio 2008或2010的Silverlight开发人员工具包中找到了一个具有该名称的旧.dll。我添加了此文件,并且看起来“可以正常工作”,因为IntelliSense现在可以识别类成员的属性,如 [Display(Name = "My Property Name")]. 是否可用于该.dll中的其他功能,我不知道。]
(1)
Microsoft Visual Studio Professional 2013
Version 12.0.21005.1 REL
Microsoft .NET Framework
Version 4.5.51641
安装的版本:专业
遇到同一问题时,我就此主题寻求帮助。
尽管以下内容可能不是2012年最初提出的问题的答案,但对于遇到此问题的人员来说,这可能是一个解决方案。
解决此问题的一种方法是检查项目在解决方案中的位置。事实证明,对于我的实例(我正在尝试安装NuGet软件包,但没有,并且出现了列出的错误),尽管在解决方案资源管理器中显示了我的项目文件,但没有包含在解决方案目录中。我从目录中删除了该项目,并重新添加了该项目,但是这次是在正确的位置。
This error occurs when the reference to the "System.dll" got removed.Solution to the problem is very simple add the reference to "System.dll".The dll is normally available in the following location
"C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727" .Add the reference your problem will get solved .
如果您尝试将Visual Studio从vs2008更新到vs2010。您的应用使用框架3.5(并且您不想升级它),还使用了WCF RIA Services BETA ...我有个坏消息...您必须升级到WCF RIA Services v1(BETA在vs2010上不起作用)...并且由于此...您还必须安装Silverlight 4 +升级到Framework 4.0
看到这个:http : //blog.nappisite.com/2010/05/updating-visual-studio-2008net-35-ria.html
我从Silverlight 4升级到Silverlight 5,然后遇到了这个问题。尽管我在项目的“引用”下引用了“ System.ComponentModel.DataAnnotations”,但是它带有黄色的屈服符号,表示找不到先前引用的程序集。原来,“ System.ComponentModel.DataAnnotations”引用的属性指示为“ Specific Version = True”,当我将其更改为“ Specific Version = False”时,此问题已解决。右键单击“参考”下的“ System.ComponentModel.DataAnnotations”程序集,然后从上下文菜单中选择“属性”。检查“特定版本= False”的属性值。
它一定是在引用旧的Silverlight 4程序集,该程序集在升级到Silverlight 5之后不再可用。
System.ComponentModel.DataAnnotations包含在其自己的程序集中,因此您需要确保已引用它。只是简单地:
1)。右键单击Soloution并选择添加。
2)。从列表中选择参考。
3)。搜索“ System.ComponentModel.DataAnnotation”,然后勾选其左侧的复选框,然后按OK。
工作完成,不应有任何引用错误。
我有同样的问题,我通过以下方式解决了这个问题。
右键单击页面,选择属性。在构建操作中,选择内容。
希望此解决方案可以为您提供帮助。