[英].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; }
}
如您所见, DatabaseGeneratedAttribute
在System.ComponentModel.DataAnnotations.Schema
命名空间下可用,该命名空间是.NET 4.5的一部分。
有关.NET 4中可用于表示相同逻辑的相应功能/属性的建议吗?
注意:在上面给出的代码片段中,我在Table
和DatabaseGeneratedAttribute
上得到错误
找不到类型或命名空间名称“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.