簡體   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