Top / .NET備忘録 / 10.oo4o / 13.AnyCPU対応

結論から先に書きますが、何の苦労もなく AnyCPU で動いてしまいました。\(^o^)/

少々拍子抜けですよママン。

x64 Windows をインストール

これがないと始まりません。あ、Visual Studio も必要ですね。

x86 Windows 上でコンパイルしても良いのですが、テストができないので x64 は必須かと思います。

Oracle Client(32bit) + ODP.NET 2.0 以上 をインストール

Visual Studio の開発環境そのものは、32bit ですので、必ずインストールする必要があります。

また、ODP.NET 1.0 = .NET Framework 1.0 なので、64bit に対応するためには、ODP.NET 2.0以上が必要になります。

私が確認した環境は以下のとおりです。

Windows7(x64)SP1
Visual Studio 2012
Oracle Client 10.2.0.3.0
Oracle DataAccess Components 10.2.0.2.21

Windows7 に正式対応するのは Oracle Client 10.2.0.5 からなのですが、動いているのでヨシとします。( `ー´)ノ

ODP.NET(64bit) + Instant Client をインストール

「64-bit Oracle Data Access Components (ODAC) ダウンロード」
http://www.oracle.com/technetwork/jp/database/windows/downloads/index-214820-ja.html

から、「64-bit ODAC 11.2 Release 4 (11.2.0.3.0) Xcopy for Windows x64」 をダウンロードしてインストールしました。

Instant Client が同梱されています。

Setup 形式もありますが、何がセットアップされるのか不安なので、あえて Xcopy 版を選択します。

TNS_ADMIN 環境変数を作成する

TNSNAMES.ora を複数管理するのはイヤなので、TNS_ADMIN 環境変数を作成し、32bit と 64bit で共有します。

NLS_LANG 環境変数を作成する

JAPANESE_JAPAN.AL32UTF8 を設定します。

OracleInProcServer.NET を AnyCPU でコンパイル

ODP.NET は 32bit のものを参照し、特定バージョンを False にしてコンパイルします。 ワーニングエラー(MSIL と Oracle.DataAccess のアーキテクチャが違う)が出ますが、無視してください。

以上です。

ワーニングエラーはプロジェクトファイルを直接編集して

<PropertyGroup>
    <ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch>None</ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch>
</PropertyGroup>

を入れると出てこなくなるようです。




トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   最終更新のRSS
Last-modified: 2013-05-10 (金) 23:59:15 (1627d)