これはあなたの質問に対する正確な答えではないかもしれませんが、多くの人がこれを試したことがあるとは思えないので、2セントの価値があると思いました.
混合モード C++ を使用してマネージ ラッパーを作成することで動作するようになりました。他にも方法はありますが、任意の .NET 言語から使用できる完全なラッパーを作成しようとしました。
混合モードのプロジェクトに含めることができるように lib をコンパイルするのは、少し大変でした。/MD および /MDd に使用されるランタイム ライブラリ (SConstruct ファイル内) を変更して、/clr スイッチと互換性を持たせる必要がありました。
これまでのところ、コールバック、カスタム メソッド、オブジェクトなどを実装していないため、単純なスクリプトしか実行していません。
以下は、私のテスト アプリの 1 つの使用方法の簡単なサンプルです。
V8DotNet.Shell shell = new V8DotNet.Shell();
shell.ExecuteScript(@"print('V8 version is: ' + version());");
base64 エンコーダーのような複雑なスクリプトも実行できます。ただし、今のところ、C++ 側からのみカスタム項目を追加できます。
このプロジェクトを取り戻すことはできないかもしれないので、誰かが興味を持っている場合は、より多くの情報とコードを喜んで提供します。しかし、ここに投稿するには多くのコードが必要なので、Google コードや codePlex などの他の媒体を見つける必要があります。
編集:
OK、コードをアップロードしました。これについて免責事項を言わなければなりません:プロジェクトは非常に初期の段階であり、私はせいぜい C++ のアマチュアであるため、あまり期待しないでください。また、このプロジェクトは chrome がリリースされた直後に作成/実行されたため、含まれている v8 のバージョンが古い可能性があります。
そうは言っても、ここにあります: http://ryanscook.com/Files/V8-DotNet.zip (21.5 MB)
パッケージには、次の興味深いアイテムが含まれています。
V8Net-Library\V8.Net\V8.Net.sln -これは、マネージド C++ ラッパー プロジェクトとテスト用の C# コンソール アプリを含むソリューションです。
Dependencies\V8 -これは、V8 ライブラリをビルドするために使用した V8 コードです。
それが役に立てば幸い!