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

本文关键字:NET 命名空间 替代 | 更新日期: 2023-09-27 18:03:10

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

代码中有一些函数使用 dll 文件,这些文件仅适用于 .NET 4.5,例如 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 中使用哪些相应的函数/属性来表示相同的逻辑的任何建议?

注意:在上面给出的代码片段中,我在Table上收到错误,DatabaseGeneratedAttribute

找不到类型或命名空间名称"表"(是否缺少 using 指令或程序集引用?

找不到类型或命名空间名称"DatabaseGenerated AttributeAttribute"(是否缺少 using 指令或程序集引用?

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

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

.NET 4.5 更改为 4.0 后,我看到了同样的问题。根据这篇文章,"有一个特殊版本的实体框架程序集"用于.NET 4.0,其中包含DataAnnotations,否则已合并到.NET 4.5中。

重新安装实体框架使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 时遇到了问题。 我得到了同样的错误。 卸载并重新安装实体框架也解决了这种情况下的问题:

Uninstall-Package EntityFramework
Install-Package EntityFramework

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