- PR -

ビルドのあるエラーメッセージを解決できません。 MSB3187

1
投票結果総投票数:11
(.NET 4 36.36%
Oracle); 7 63.64%
  • 投票は恣意的に行われます。統計的な調査と異なり、投票データの正確性や標本の代表性は保証されません。
  • 投票結果の正当性や公平性について、@ITは一切保証も関与もいたしません。
投稿者投稿内容
KOH♪
会議室デビュー日: 2008/07/31
投稿数: 16
お住まい・勤務地: 名古屋市
投稿日時: 2008-07-31 13:53
こんにちは。
知恵をお貸し下さい。

現象:
現在、VB2005 Professionalにて15個ほどのプロジェクトからなるソリューションをビルドすると以下のようなメッセージが出力され、下記の対処を行いましたが、解決しません。
「ビルドは成功しました」と表示されますが・・・。

発生のきっかけ
このようなメッセージが出力したきっかけは、Oracle 11gのdllをインストールしてからです。

内容:
ビルド時出力欄のメッセージ:
------------------------------------------------------------------------
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Microsoft.Common.targets : warning MSB3187: 参照アセンブリ 'C:\oracle\product\11.1.0\client_1\ODP.NET\bin\2.x\Oracle.DataAccess.dll' は、アプリケーションとは異なるプロセッサをターゲットにしています。
------------------------------------------------------------------------

と出ます。

対応:
一度、プロジェクトの依存関係を、ソリューションをクリーンしてからやり直し、再度ビルドしても同様のメッセージが出ます。
Microsoftのリファレンス[MSB3187]も調べていますが、アプリケーションアーキテクチャーというレベルで理解できず具体的な対処がわかりません。

補足:
上記dllは Oralce 11gのdllでFramework2.0に対応しているものです。
その他のdllもFramework2.0対応のdllを参照設定しております。

よろしくご教授の程お願い申し上げます。




Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2008-07-31 19:34
構成に、x86 を追加して、それでビルドする
KOH♪
会議室デビュー日: 2008/07/31
投稿数: 16
お住まい・勤務地: 名古屋市
投稿日時: 2008-08-01 13:38

Jitta 様

回答ありがとうございます。
解決しました!

今回、OracleDataAccess を9gから10gに変更してからおきました。
即ち、Oracle 10gからvb側のビルドプラットフォームを
AnyCPUから私の開発環境であるx86 Windows XP Pro SP2 に合わせて
x86を指定してやる必要になった・・・・

ということで正しいでしょうか?
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2008-08-01 22:37
引用:

KOH♪さんの書き込み (2008-08-01 13:38) より:
即ち、Oracle 10gからvb側のビルドプラットフォームを
AnyCPUから私の開発環境であるx86 Windows XP Pro SP2 に合わせて
x86を指定してやる必要になった・・・・


 それは、私にはわかりません。Oracle の資料を当たってください。

 MSBuild エラー MSB3187<microsoft.com> には、こう書いてあります。
引用:

このエラーを解決するには
アプリケーションのターゲット プラットフォーム (プロセッサ アーキテクチャ) がすべての参照アセンブリとエントリ ポイント アセンブリ アーキテクチャに一致することを確認します。


 「プロセッサ アーキテクチャを一致させろ」と書いてあるわけですから、一致するような指定をしてみたら?ということです。
 Oracle が、x64 アーキテクチャに対応したアセンブリを提供していないのなら、「x86」の構成でなければならない、ということになります。これは、Oracle に聞いてください。

 そうすると、x64 向けには、x64 の環境を用意しなければなりませんね。ODP.NET のインストール途中で何か設定があるか、Oracle がミスっているのではないかと思います。KROWN は当たりました?
 公開資料では、対象プラットフォームが「32-bit」になっていますね。x64 には対応していないのかな?
キーワードに「odp.net」で検索<oracle.co.jp> 文書番号 120871

 64-bit は別に提供されているようです。→Oracle Data Access Components (ODAC) for Windows Downloads<oracle.com>
1

スキルアップ/キャリアアップ(JOB@IT)