4

Vs 2012をインストールした後、最初にエンティティモデルデータベースを追加しようとしています。ただし、T4テンプレートはビルドされません。

デバッグしようとすると、これらのエラーが発生します。

エラー1-アセンブリの読み込み中に問題が発生しました'C:\ Windows \ Microsoft.Net \ assembly \ GAC_32 \ System.Data \ v4.0_4.0.0.0__b77a5c561934e089 \ System.Data.dll'次の例外がスローされました:システム。 BadImageFormatException:ファイルまたはアセンブリを読み込めませんでした'file:/// C:\ Windows \ Microsoft.Net \ assembly \ GAC_32 \ System.Data \ v4.0_4.0.0.0__b77a5c561934e089\System.Data.dll'またはその依存関係の1つ。間違った形式のプログラムを読み込もうとしました。ファイル名:'file:/// C:\ Windows \ Microsoft.Net \ assembly \ GAC_32 \ System.Data \ v4.0_4.0.0.0__b77a5c561934e089 \ System.Data.dll' at System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName、String codeBase、Evidence assemblySecurity、RuntimeAssembly locationHint、StackCrawlMark&stackMark、IntPtr pPrivHostBinder、Boolean throwOnFileNotFound、

===事前バインド状態情報===ログ:ユーザー= MANNVIT \ Oleログ:Where-refバインド。場所=C:\ Windows \ Microsoft.Net \ assembly \ GAC_32 \ System.Data \ v4.0_4.0.0.0__b77a5c561934e089 \ System.Data.dllログ:Appbase = file:/// C:/ Program Files(x86)/ Microsoft Visual Studio 11.0 / Common7 / IDE /ログ:初期PrivatePath = NULLアセンブリの呼び出し:(不明)。===ログ:このバインドはLoadFromロードコンテキストで開始されます。WRN:ネイティブイメージはLoadFromコンテキストでプローブされません。ネイティブイメージは、Assembly.Load()のように、デフォルトのロードコンテキストでのみプローブされます。ログ:アプリケーション構成ファイルが見つかりません。ログ:ホスト構成ファイルの使用:ログ:C:\ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ config\machine.configのマシン構成ファイルを使用します。ログ:新しいURLファイルのダウンロードを試みています:/// C:/Windows/Microsoft.Net/assembly/GAC_32/System.Data/v4.0_4.0。0.0__b77a5c561934e089/System.Data.dll。ERR:アセンブリのセットアップを完了できませんでした(hr = 0x8007000b)。プローブが終了しました。

警告2変換のコンパイル:事前定義されたタイプ'System.Runtime.CompilerServices.ExtensionAttribute'は、グローバルエイリアスの複数のアセンブリで定義されています。'c:\ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ mscorlib.dll' C:\ Users \ Ole \ document \ visual studio 11 \ Projects \ Cantina \ Cantina \ Models\navision.Context.ttの定義を使用

エラー3変換のコンパイル:タイプまたは名前空間名'CSharp'は名前空間'Microsoft'に存在しません(アセンブリ参照がありませんか?)c:\ Users \ Ole \ AppData \ Local \ Temp \ qiu0vq02.0.cs

エラー4変換のコンパイル:タイプまたは名前空間名'CSharpCodeProvider'が見つかりませんでした(usingディレクティブまたはアセンブリ参照がありませんか?)c:\ Program Files(x86)\ Microsoft Visual Studio 11.0 \ Common7 \ IDE \ Extensions \ Microsoft \ Entity Framework Tools \ Templates \ Includes \ EF.Utility.CS.ttinclude 37 22

エラー5変換のコンパイル:タイプまたは名前空間名'CompilerErrorCollection'が名前空間'System.CodeDom.Compiler'に存在しません(アセンブリ参照がありませんか?)c:\ Program Files(x86)\ Microsoft Visual Studio 11.0 \ Common7 \ IDE \ Extensions \ Microsoft \ Entity Framework Tools \ Templates \ Includes \ EF.Utility.CS.ttinclude

問題は、使用しようとしている32ビットと64ビットのdllが混在していることだと思います。

64ビットのmscorlib.dllと32ビットのsystem.data.dllをロードしています。(しかし、私にはわかりません)

私のビルドコンフィギュレータープラットフォームは任意のCPUです。

C#プロジェクトファイルを挿入しようとし<PlatformTarget>x64</PlatformTarget>ましたが、役に立ちませんでした。

私は64ビットのwin7pcを使用しています。また、vs2010をインストールしました。

私は次のことを行いました、インストールされたvs2012教授。rtm、アンインストールvs2012アルティメットrc。

この後、私はエラーに気づきました。

次に、すべての.netフレームワークとvs2012rtmをアンインストールしてみました。そして、installin vs 2012 rtmをもう一度実行しますが、それでもエラーが発生します。

誰かがplsできますか。何が悪いのか助けてください。

4

3 に答える 3

0

ビルド構成を誤って x64 に設定してしまい、同じエラーが発生しました。Any CPUに入れると、エラーはなくなりました。x64に戻しても、問題なくビルドできました。そのため、理由はわかりませんが、ビルド構成を変更して元に戻すと修正されました!

于 2013-02-14T18:39:36.877 に答える
0

Visual Studio を管理者として実行してみてください (コンテキスト メニューの [管理者として実行])。

于 2015-09-18T10:37:10.473 に答える
0

T4 ファイルの末尾に改行があることを確認してください。

バージョン管理システムの改行設定を変更した結果、最近同じエラーが発生しました。テキスト テンプレートの末尾に改行がないと、コンパイルされたテンプレート コードで終了ブレースが失われるようです。これにより、このエラーで終了するカスケード コンパイル エラーが発生します。

于 2014-11-14T21:42:48.367 に答える