4

VS2012のフレームワークとして.NET4.5を使用して構築されたMVCアプリケーションのコードがいくつかあります。現在のシステムではVS2010で作業する必要があります。VS2010でVS2012ソリューションを開くことができましたが、それはVS2010です。 .NET4までのみをサポートします。

コードには、たとえば.NET4.5でのみ使用可能なdllファイルを使用する関数がいくつかありますSystem.ComponentModel.DataAnnotations.Schema

では、.NET 4で利用できる代替関数/属性はありますか?これを使用して、現在.NET 4.5で実行されているのと同じことを実行できますか?

これは、.NET4.5を使用した現在のコードです。

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

ご覧のとおり、 .NET4.5の一部である名前空間のDatabaseGeneratedAttribute下で利用できます。System.ComponentModel.DataAnnotations.Schema

同じロジックを表すために.NET4で使用できる対応する関数/属性について何か提案はありますか?

注:上記のコードスニペットでは、エラーが発生しTableますDatabaseGeneratedAttribute

タイプまたは名前空間の名前'Table'が見つかりませんでした(usingディレクティブまたはアセンブリ参照がありませんか?)

タイプまたは名前空間の名前'DatabaseGeneratedAttributeAttribute'が見つかりませんでした(usingディレクティブまたはアセンブリ参照がありませんか?)

それぞれ。ですから、NET 4.0で対応するクラスを見つける必要があるだけで、問題は解決すると思います。どうぞよろしくお願いいたします。

4

4 に答える 4

10

.NET 4.5から4.0に変更した後も、同じ問題が発生しました。この記事によると、.NET4.5DataAnnotationsに組み込まれている.NET4.0用の「EntityFrameworkアセンブリの特別なバージョンがあります」 。

Entity Frameworkを再インストールすると、System.ComponentModel.DataAnnotations.Schema再び機能するようになりました。パッケージマネージャーコンソールで次のように入力して、再インストールします。

Uninstall-Package EntityFramework
Install-Package EntityFramework
于 2014-08-26T10:38:03.360 に答える
4

この記事System.ComponentModel.DataAnnotations.Schemaでは、作成者はVS2010SP1を使用するMVC4アプリで使用できると主張しています。

これでうまくいくかどうかお知らせください。

于 2013-03-11T09:43:59.353 に答える
1

Henrikのソリューションは、逆の状況でも機能します。MVC5.2.3をサポートするために.net4.0から.net4.5.1に移行する際に問題が発生しました。同じエラーが発生しました。Entity Frameworkをアンインストールして再インストールすると、この状況でも問題が解決しました。

Uninstall-Package EntityFramework
Install-Package EntityFramework
于 2016-04-30T12:43:54.027 に答える
0

パッケージマネージャーコンソールが機能しませんでした。この問題を解決するには、Nugetパッケージの管理に移動する必要がありました。VS.net2013を使用しています

于 2016-05-04T19:17:54.257 に答える