GeckoFX45でAny CPU対応できるかを調べてみた。
Visual Studio を使っていてNuGetでGeckoFx45のGeckFX45.64を一つのプロジェクトにインストールできないようだ。
それで,プロジェクトを2つ作成して片方にGeckoFX45をインストールして,もう一方には64ビット版のGeckoFX45.64をインストールしてこちらを開発用にする。
ビルドの際にGeckoFX45.64をインストールしたプロジェクトのFirefoxをFirefoxフォルダに「新しい場合はコピー」する設定に。ダミープロジェクトのファイルはFirefox32フォルダにコピーするようにする。
if (System.Environment.Is64BitProcess)
で区別してInitializeのパスを切り替える。
これで一応Any CPU対応可能かな?
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using Gecko; namespace GeckoFXTest { public partial class Form1 : Form { private GeckoWebBrowser geckoWebBrowser; public Form1() { InitializeComponent(); if (System.Environment.Is64BitProcess) { Xpcom.Initialize("Firefox"); } else { Xpcom.Initialize("Firefox32"); } geckoWebBrowser = new GeckoWebBrowser { Dock = DockStyle.Fill }; this.Controls.Add(geckoWebBrowser); geckoWebBrowser.Dock = DockStyle.Fill; } private void Form1_Load(object sender, EventArgs e) { geckoWebBrowser.Navigate("google.co.jp"); } } }