Ответ 1
Как вы заметили, вы используете версию Entity Framework.NET 4.0 на .Net 4.5.
Это не сработает.
Переустановите EF из NuGet, и он должен работать нормально.
Я создаю веб-сайт ASP.NET Web Forms с помощью .NET 4.5.
Ошибка...
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"
но это привело только к тому, что "No Source File указан" был одинаково запутанным, поскольку исходные файлы были указаны как направленные (здесь и здесь).
Я заметил, что ошибка ссылалась на DLL EF в папке net40, а не на папку net45. Я полагаю, что если бы я использовал версию net45, проблема разрешилась бы сама, но я не знаю, как изменить эту ссылку. Я изменил атрибут targetFramework на пакет EntityFramework в файле packages.config, но это не имело никакого значения.
Я немного застрял, так как оба решения ничего не делали.
Я осмотрелся и нашел несколько сообщений здесь, где люди занимались подобными проблемами, но не получили ответов. Я надеюсь, что есть кто-то, кто может помочь!
Спасибо
С
Как вы заметили, вы используете версию Entity Framework.NET 4.0 на .Net 4.5.
Это не сработает.
Переустановите EF из NuGet, и он должен работать нормально.
Другие варианты не помогли мне. Что работала в\packages\EntityFramework.6.1.3\lib\и удаляла каталог net40, а затем выполняла перестроение всех.