.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; }
}
如您所见,DatabaseGeneratedAttribute
在 System.ComponentModel.DataAnnotations.Schema
命名空间下可用,该命名空间是 .NET 4.5 的一部分。
关于可以在 .NET 4 中使用哪些相应的函数/属性来表示相同的逻辑的任何建议?
注意:在上面给出的代码片段中,我在Table
上收到错误,DatabaseGeneratedAttribute
为
找不到类型或命名空间名称"表"(是否缺少 using 指令或程序集引用?
和
找不到类型或命名空间名称"DatabaseGenerated AttributeAttribute"(是否缺少 using 指令或程序集引用?
分别。所以,我猜我只需要在 NET 4.0 中找到相应的类,事情就会水到渠成。非常感谢您的帮助。
.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