2011-09-19 66 views
4

最新バージョンのODAC、11.2.0.2.1をインストールしてから奇妙な問題が発生しています。両方のアーキテクチャのアプリケーションを開発しているので、私は32ビット版と64ビット版の両方をインストールしました。私のコンピュータはWin 7 64-bitです。ファイルまたはアセンブリ 'Oracle.DataAccess'をロードできませんでした - マークアップ表示

ODACをインストールし、ODP.NETの新しい64ビットバージョンを参照して以来、Visual Studio 2010のWebアプリケーションプロジェクトの1つでは、Markup Viewですべてのaspxページとmasterpagesに対して次の警告が表示されます。

ASP.NET runtime error: Could not load file or assembly 'Oracle.DataAccess' or one of its dependencies. An attempt was made to load a program with an incorrect format. 

警告はマークアップビューに限定されています。 Webアプリケーションはうまく構築されて実行されます。私はVS一時的なASP.NETファイルをクリーニングしようとしましたが、それは問題を解決しませんでした。アプリケーション全体でOracle.DataAccessへの参照をすべて削除してから、すべての参照が正しいことを確認しました。 Webアプリケーションは「Any CPU」にコンパイルされますが、64ビットのOracle.DataAccessが使用されます。私は新しいプロジェクトを作成し、同じプロジェクトとDLLを参照しましたが、警告は表示されないので、このプロジェクトファイルに固有のようです。

マークアップビューで警告が表示される理由を教えてください。あなたがチェックすることができ

答えて

1

をしようとしている場所が何であるかを判断するためにFuslogvw.exeを使用してください。その結果、Oracle.DataAccess.dll(64ビット)がBINディレクトリにコピーされ、VSがマークアップ・ビューにあるときにVSが警告を発生させようとしていました。不足しているDLLを手作業で登録してリブートした後も、私はもはや問題はありません。

1

アイデア:

  • Visual StudioプロジェクトでOracle.DataAccess参照を確認します(これはデフォルトではありません)「偽」に「特定のバージョン」プロパティが設定されています。
  • .NET FrameworkがODAC 11.2.0.2のXCOPYのインストーラが正しくのdll(See bottom answer)のすべてを登録していないが判明
7

[プロジェクトのプロパティ] - [ビルド]タブで、[プラットフォームターゲット]を[x86]または[x64]に設定します。 enter image description here

「すべてのCPU」に設定しないでください。これは、このドライバに典型的なOracleソフトウェアの品質を神経破壊させる多くの一般的な条件の1つです。

+0

これは別の解決策です。その後、本番サーバーに32ビットライブラリをインストールしないでください。最近は64ビットになるはずです。できれば+10! –

関連する問題