0

ここに画像の説明を入力してくださいモデルを作成したい: add > class > ado.net entity、db の最初のプロジェクトで、asp.netscaffolding による CRUD 操作も作成したいのですが、必要なコードでモデルを作成できませんでした。したがって、scaffolding を作成できませんでした。私のモデルファイルAllahHelp.Context.csには、コードはなく、テキスト「ErrorGeneratingOutput」のみがあります。

エラー 1:

名前空間には、フィールドやメソッドなどのメンバーを直接含めることはできません F:\project\WebApplication8\WebApplication8\Models\AllahHelp.Context.cs 1 1 WebApplication8

エラー 2:

コンパイル変換: メタデータ ファイル 'C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\Tools..\IDE\EntityFramework.dll' が見つかりませんでした F:\project\WebApplication8\WebApplication8\Models\AllahHelp.tt 1 1 WebApplication8

4

2 に答える 2

2

.tt ファイルをクラス ファイルに変換するときにエラーが発生した場合、クラス ファイルのソース ファイルには "ErrorGeneratingOutput" が含まれているだけで、"名前空間にフィールドなどのメンバーを直接含めることはできません" というエラーが発生しますが、実際には何もありません。それを行うために。

実際のエラーは、への参照が欠落しているように聞こえますEntityFramework.dll。プロジェクトを右クリックし、[NuGet パッケージの管理...] を選択して、EntityFramework を見つけてプロジェクトにインストールします。

場合によっては、ファイルがコピーされる前に変換が行われるため、エラーが発生してプロセスが停止するため、参照されている dll がコピーされないという問題が発生することもあります。この場合、プロジェクトからモデルを一時的に削除し、プロジェクトを正常にコンパイルしてから、モデルを再度追加する必要があります。

この同様の質問によると、インストール パスが原因である可能性もあります。それが問題である場合は、dll の場所を見つけて、環境変数を修正してくださいVS120COMNTOOLS([コントロール パネル] -> [システム] -> [システムの詳細設定] -> [環境変数] -> [システム変数]) 。

(ただし、システム変数の変更には注意してください。)

于 2016-09-23T16:05:31.973 に答える