Как создать ASP.NET проект с нуля с более старой версией Entity Framework?

#asp.net #entity-framework #asp.net-web-api2

Вопрос:

Я следую некоторому онлайн — учебнику по созданию ASP.NET Проект API 2, но учебник немного устарел (2015), и в нем использовался VS2013 EntityFramework 5.

Моя версия проекта (VS2013 .Net 4.5.2 EF 6.1.1(по умолчанию)) может быть собрана. Но при запуске он выдает исключение ниже.

 "Could not load file or assembly 'EntityFramework, Version=5.0.0.0, Culture=neutral, PublicKeyToken=XXXXXXXXXXX' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)"
 

После изучения, это может быть связано с тем, что база ASP.NET Проект использует EF6, в то время как некоторые пакеты nuget в моем проекте ссылаются на EF5 (к сожалению, у этих пакетов, похоже, нет более новой версии для использования EF6).
Поэтому в одном проекте используются 2 версии библиотек DLL EF, что приводит к исключению с заголовками.

Мой вопрос таков:
Как я могу создать ASP.NET проект (например, проект API 2) с нуля с более старой версией Entity Framework?

Я не могу найти никакого связанного мнения, когда я создаю ASP.NET использование мастера Visual Studio

Редактировать: ниже мои действия: (Файл -> Новый -> проект -> ASP.NET веб-приложение -> выбрать веб-API проверка(галочка) «в MVC» amp; «веб-API» в списке «добавить папки и основные ссылки для:» -> ОК).

Потом я нашел EntityFramework.dll (версия 6) и EntityFramework.SqlServer.dll (версия 6) добавлены в Ссылки на вновь созданный проект.

Комментарии:

1. EF не является частью ASP.NET. Вы должны добавить его явно, а это значит, что вы можете добавить любую версию, какую захотите. EF 5 туг очень старый. И даже .NET 4.5.2 заканчивается в апреле 2022 года. Обновите проекты и выбросьте устаревшие пакеты NuGet. В любом случае тебе придется сделать это очень скоро

2. @PanagiotisKanavos Большое спасибо за быстрый ответ. Я обнаружил, что EF автоматически добавляется в мой проект, не спрашивая меня, какую версию я хочу., после того, как я нажму » ОК » мастера добавления проекта. И я отредактировал свои вопросы, пожалуйста, обратитесь к «Отредактированной» части для получения подробной информации.

3. Это не меняет того факта, что EF не является частью ASP.NET. Используемый вами шаблон содержит множество различных пакетов NuGet, одним из которых является EF 6. EF 6 был выпущен в 2013 году вместе с VS 2013, поэтому он используется по умолчанию в этом шаблоне. Опять же, вам действительно, действительно нужно обновить проекты и отказаться от любых пакетов NuGet, для которых требуется EF 5. Это не in an ideal world та ситуация. VS 2013 8 лет, но, очевидно, вы используете еще более старый проект. Это может быть вообще несовместимо с ASP.NET версия, используемая VS 2013. Даже если вы измените версию EF, остальные могут выйти из строя

4. В любом случае вы можете изменить версию EF в диспетчере пакетов NuGet.