Me doy cuenta de que esta puede no ser una respuesta exacta a su pregunta, pero pensé que pondría mi valor de 2 centavos ya que dudo que muchas personas lo hayan intentado.
Lo hice funcionar por creado un contenedor administrado utilizando el modo mixto C++. Hay otras formas de hacerlo, pero iba a intentar crear un contenedor completo que se pudiera usar desde cualquier lenguaje .Net.
Conseguir que la biblioteca compilara de tal forma que pudiera incluirse en un proyecto de modo mixto era un desafío. Tuve que modificar la biblioteca de tiempo de ejecución (en el archivo SConstruct) utilizada para/MD y/MDd para que fuera compatible con el modificador/clr.
Hasta ahora solo tengo scripts simples en ejecución ya que no he implementado devoluciones de llamada, métodos personalizados, objetos y demás.
Aquí es una muestra rápida de lo que el uso se parece a una de mis aplicaciones de prueba:
V8DotNet.Shell shell = new V8DotNet.Shell();
shell.ExecuteScript(@"print('V8 version is: ' + version());");
Se ejecuta las secuencias de comandos más complicados como una multa codificador de base 64 también. Pero por ahora solo puedo agregar elementos personalizados desde el lado de C++.
Estoy dispuesto a proporcionar más información + código si alguien está interesado, ya que es posible que nunca vuelva a seleccionar este proyecto. Pero, me temo que es mucho código entrar en una publicación aquí, así que tendríamos que encontrar algún otro medio como google code o codePlex.
Editar:
OK, he subido el código. Tengo que poner un descargo de responsabilidad en esto: El proyecto es muy temprano y soy un aficionado en C++ en el mejor de los casos, así que no tengas tantas esperanzas. Además, este proyecto fue creado/hecho justo después de que se lanzó Chrome, por lo que la versión de v8 incluida puede ser antigua.
Dicho esto, aquí está: http://ryanscook.com/Files/V8-DotNet.zip (21.5 MB)
En el paquete encontrará los siguientes puntos de interés:
V8Net-Biblioteca \ V8.Net \ V8.Net.sln - Este es la solución que tiene la administrado C++ wrapper proj y una aplicación de consola C# para probar.
Dependencias \ V8 - Este es mi código V8 que utilicé para construir la lib de V8.
Espero que ayude!
Como un lado, ¿dónde puedo obtener una copia de la DLL compilada? (Dado que soy demasiado vago para compilarlo, principalmente porque no tengo VS configurado para hacer C++) –
He actualizado mi publicación con un enlace para descargar el proyecto de prueba que creé. –
Para aquellos que acaban de encontrar esta página, ahora también existe V8.NET en Codeplex. –