f# f#-interactive

F#interactivo: referencia un proyecto en una solución actualmente abierta



f#-interactive (6)

Ahora en Visual Studio 2013 puede agregar una referencia a la ventana interactiva de F # haciendo clic derecho en la dll referenciada y haciendo clic en "Enviar a F # interactivo".

Me gustaría usar la consola interactiva F # con los proyectos en la solución abierta actualmente en Visual Studio 2010. ¿Existe una manera rápida y fácil de agregar una referencia en la consola interactiva F # para hacer referencia a los proyectos en la solución abierta actualmente?


Creo que debería ser sencillo hacer referencia al proyecto actual, obtener la lista de referencias que contiene y, luego, generar opcionalmente una lista de #r (y posiblemente #i) sentencias para la sesión interactiva que se crea, haciendo referencia a la DLL del proyecto. a sí mismo también.

Por ejemplo: "fsi / i: pathOfLib1 / r: lib1 / i: pathOfLib2 / r: lib2 ...."

PS: en la base del artículo de MSDN no parece que los nombres de las bibliotecas puedan incluir sus prefijos de ruta, por lo que se separan en / i y / i: http://msdn.microsoft.com/en-us/library/dd233172%28v=vs.100%29.aspx


No creo que haya una forma directa de hacer referencia a un proyecto en la solución. La mejor manera en que puedo pensar es agregar un archivo FSX en algún lugar de su proyecto con la directiva #r :

#r @"bin/Debug/YourProject.dll"

Luego, al menos puede hacer referencia al archivo DLL compilado simplemente presionando Alt + Enter en Visual Studio. Por lo que sé, no puede hacer referencia al proyecto, solo puede hacer referencia a un ensamblaje.

Actualmente, F # Interactive está realmente desconectado del sistema del proyecto en Visual Studio. Supongo que una integración más cercana sería bastante útil (pero probablemente difícil de proporcionar).


Sería bueno si el menú de Opciones interactivas de Visual Studio F # permitiera la estipulación de un script de inicio que la invocación podría pasar a FSI a través de la directiva "--use:". A tal secuencia de comandos se les podrían pasar metadatos de solución que permiten que los entornos se integren más, como cargar los últimos resultados del proyecto.


Tengo líneas como esta en la parte superior de mi archivo .fs:

#if INTERACTIVE #r @"C:/path/to/some.dll" #I @"C:/Users/bford/path/to/a/project/in/this/solution/bin/Debug" #r "Project.name" #endif

Alt-Enter ahora me coloca en fsi con todas las cosas necesarias cargadas


Si es un proyecto al que hace referencia a menudo, puede agregar una referencia ''siempre'' a la línea de comandos FSI, en Herramientas-> Opciones-> F # Herramientas-> F # opciones interactivas. Agregue un modificador -r como:

-r "C:/Users/yaddayadda/MyDll.dll"