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");
}
}
}

