背景 私がインストールしたマシンでVS 2010を使用しています。私が読んだのは、インプレースインストール(.net 4.0バージョンをオーバーロード)でした。EF 5.0列挙型が生成されない
私はまだ4.0と4.5をターゲットにしているプロジェクトを持っていますが、利用できませんが、4.5はインプレースインストールだったのでOKです。その後、EntityFramework -preをnuget経由でインストールし、Upgrade-Database-Scriptコマンドを実行したときにenumプロパティを生成しないことに気づきました。
私はthisを見つけました。私は最初からすべてをやってみましたが、5.0の代わりにEntityFramework 4.4を追加していました。だから私は手動でEF 5.0のバージョンを持っていることを確認するために、5.0バージョンを指すようにすべての参照を手動で変更しました。すべてコンパイルされています。
問題 私は
Enable-Migrations -EnableAutomaticMigrations
を実行すると、私が得る「DbContextから派生ませクラスは、現在のプロジェクトでは見つかりませんでした。 編集生成されたConfigurationクラスのための移行を可能にするためのコンテキストを指定する。」
私は手動でクラスが正しいことを手動で確認しました。
internal sealed class Configuration : DbMigrationsConfiguration<DataContext>
{
public Configuration()
{
AutomaticMigrationsEnabled = true;
}
DataContextサブクラスDbContext。
私は実行すると
Update-Database -Script
私はあなたが追加するパッケージマネージャコンソールから有効-移行コマンドを使用することができますVisual Studioで(ませ移行構成タイプがアセンブリでは見られなかった 『MyProjectと』。 "を取得 "
MyProjectに上記のコンフィグレーションクラスがあり、パッケージマネージャコンソールでは、マイグレーションフォルダとこのコンフィグレーションクラスを含むプロジェクトの右のドロップダウンを選択しています。
QUESTION
私はnuget経由EnittyFrameworkをインストールするとき、それは私がネット4.5インストールされているにもかかわらず、4.4を5.0バージョンを追加していないことを確認するために何をしますか?
上記の質問に関連することができない場合は、アップグレードデータベースがスクリプトを吐くことを確認するために何ができますか?
コメントを評価してください。私は、を使用して.netフレームワークを4.5にリターゲットする方法についてScott Hanelmanのブログ記事をたどった。私は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
私はWin2k8 R2 32ビット版があり、VS11は64ビット版ではないため失敗しています。 VS 10で.net 4.5をターゲットにする方法は他にありませんか? – TimJohnson