繁体   English   中英

.NET 4.0替代.NET 4.5命名空间

[英].NET 4.0 substitutes for .NET 4.5 namespaces

有一些MVC应用程序的代码是使用.NET 4.5作为VS 2012中的框架构建的。我当前的系统迫使我在VS 2010上工作。我设法在我的VS2010中打开VS2012解决方案,但问题是VS2010仅支持.NET 4。

代码中有一些函数使用仅适用于.NET 4.5的dll文件,例如System.ComponentModel.DataAnnotations.Schema

那么,.NET 4中是否有可用的替代函数/属性,我现在可以使用它来完成与.NET 4.5相同的操作?

这是我使用.NET 4.5的当前代码:

 [Table("UserProfile")]
    public class UserProfile
    {
        [Key]
        [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
        public int UserId { get; set; }
        public string UserName { get; set; }
    }

如您所见, DatabaseGeneratedAttributeSystem.ComponentModel.DataAnnotations.Schema命名空间下可用,该命名空间是.NET 4.5的一部分。

有关.NET 4中可用于表示相同逻辑的相应功能/属性的建议吗?

注意:在上面给出的代码片段中,我在TableDatabaseGeneratedAttribute上得到错误

找不到类型或命名空间名称“Table”(您是否缺少using指令或程序集引用?)

找不到类型或命名空间名称“DatabaseGeneratedAttributeAttribute”(您是否缺少using指令或程序集引用?)

分别。 所以,我猜我只需要在.NET 4.0中找到相应的类,事情就会到位。 非常感谢您的帮助。

从.NET 4.5更改为4.0后,我看到了同样的问题。 根据这篇文章 “有一个特殊版本的Entity Framework程序集”,用于包含DataAnnotations .NET 4.0,否则它已被合并到.NET 4.5中。

重新安装Entity Framework使System.ComponentModel.DataAnnotations.Schema再次工作。 在包管理器控制台中键入以下内容重新安装:

Uninstall-Package EntityFramework
Install-Package EntityFramework

本文中 ,作者声称能够在使用VS2010 SP1的MVC4应用程序中使用System.ComponentModel.DataAnnotations.Schema

如果这对您有用,请告诉我们。

Henrik的解决方案也适用于相反的情况。 我遇到了从.net 4.0到.net 4.5.1以支持MVC 5.2.3的问题。 我得到了同样的错误。 卸载和重新安装Entity Framework也解决了这种情况下的问题:

Uninstall-Package EntityFramework
Install-Package EntityFramework

包管理器控制台对我没用。 我不得不去管理Nuget包来解决这个问题。 我正在使用VS.net 2013

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM