19

.NET 4.5 を使用して ASP.NET Web フォーム Web サイトを構築しています。

エラー ...

The type 'System.ComponentModel.DataAnnotations.Schema.ForeignKeyAttribute' exists in both 'f:\Projects\web sites\RC1Iteration05\packages\EntityFramework.5.0.0\lib\net40\EntityFramework.dll' and 'c:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\System.ComponentModel.DataAnnotations.dll'

私はライブラリをエイリアスしようとしました...

csc /r:EF_DataAnnotations="f:\Projects\web sites\RC1Iteration05\packages\EntityFramework.5.0.0\lib\net40\EntityFramework.dll" /r:CM_DataAnnotations="c:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\System.ComponentModel.DataAnnotations.dll"

しかし、これは「ソースファイルが指定されていません」という結果になるだけで、ソースファイルが指示どおりに指定されているため、同様に混乱します(here & here)。

エラーが net45 フォルダーではなく、net40 フォルダー内の EF dll を参照していることに気付きました。net45 バージョンを使用した場合、問題は自動的に解決されると思いますが、その参照を変更する方法がわかりません。packages.config ファイルで「targetFramework」属性を EntityFramework パッケージに変更しましたが、違いはありませんでした。

どちらのソリューションも何もしていないように見えるので、私は少し行き詰まっています。

私は周りを見回して、人々が同様の問題に対処したが、応答を受け取っていない投稿をここで見つけました. 助けてくれる人がそこにいることを願っています!

ありがとう

G

4

2 に答える 2

44

お気づきのとおり、.Net 4.5 で .Net 4.0 バージョンの Entity Framework を使用しています。
それはうまくいきません。

NuGet から EF を再インストールすると、正常に動作するはずです。

于 2013-07-22T15:51:09.890 に答える
7

他のオプションは私にはうまくいきませんでした。\packages\EntityFramework.6.1.3\lib\ に移動し、net40 ディレクトリを削除してから、すべてを再構築しました。

于 2016-11-07T14:17:58.913 に答える