ПРЕДПОСЫЛКИ Я использую VS 2010 на машине, на которой я установил .Net 4.5, который я прочитал, была установлена на месте (переопределить версию .net 4.0).EF 5.0 Перечисления без генерации
У меня есть проекты, которые по-прежнему нацелены на версию 4.0 и 4.5, недоступны, но было сказано, что все нормально, поскольку 4.5 была установлена на месте. Затем я установил EntityFramework -pre через nuget и уведомления, когда я запускал команды Upgrade-Database -Script, он не генерировал бы свойства enum.
Я тогда нашел this. Я попытался сделать все с нуля, но он все еще добавлял EntityFramework 4.4 вместо 5.0. Поэтому я вручную изменил все ссылки, чтобы указать на версию 5.0, чтобы убедиться, что у меня версия EF 5.0. Все скомпилировано.
ПРОБЛЕМА Когда я бегу
Enable-Migrations -EnableAutomaticMigrations
я получаю «Нет классов, вытекающие из DbContext не найдено в текущем проекте. Редактировать сгенерированный класс Configuration, чтобы задать контекст для включения миграции для.»
так я вручную убедился, что мой класс правильно, как в:
internal sealed class Configuration : DbMigrationsConfiguration<DataContext>
{
public Configuration()
{
AutomaticMigrationsEnabled = true;
}
Подклассы DataContext DbContext.
Когда я бег
Update-Database -Script
Я получаю "Отсутствует типа конфигурации миграции не был найден в сборке„MyProject“. (В Visual Studio можно использовать команду Enable-миграции из Package Manager Console, чтобы добавить миграция)
У MyProject есть класс конфигурации, о котором я упоминал выше, и в консоли диспетчера пакетов. Я выбираю правую раскрывающуюся папку для моего проекта, содержащего папку Migrations и этот класс конфигурации.
ВОПРОС
Что делать, чтобы убедиться, что при установке EnittyFramework через NuGet, что он добавляет версии 5.0, а не 4.4, хотя я .Net 4.5 установлен?
Если я не могу ничего сделать, связанный с указанным выше вопросом, что я могу сделать, чтобы убедиться, что Upgrade-Database выплюнул скрипт?
Цените комментарий. Я следил за сообщением Скотта Ханельмана о переустановке .net framework до 4.5, используя. Вы говорите, что я должен перейти на VS 11? –
TimJohnson
@gsogoly Да, .NET 4.5 не поддерживается в VS 2010. Установка 'targetFramework =" 4.5 "' в веб-приложении означает, что разработанное .NET 4.0 приложение будет работать на .NET 4.5, но оно остается .NET 4.0 -разработанное приложение, и вы фактически не получаете каких-либо преимуществ .NET 4.5 (за исключением возможных исправлений ошибок в существующих методах). – hvd
Dang it, у меня 32-разрядная версия Win2k8 R2 и VS11 терпит неудачу, потому что она не 64-разрядная. На самом деле нет другого способа нацелиться на .net 4.5 на VS 10? – TimJohnson