2010-06-06 12 views

Respuesta

19

Si es un proyecto al que hace referencia con frecuencia, puede agregar una referencia 'siempre' a la línea de comando de FSI, en Herramientas-> Opciones-> F # Herramientas-> F # opciones interactivas. Añadir un conmutador -r como: líneas

-r "C:\Users\yaddayadda\MyDll.dll" 
+0

que es un gran consejo, muchas gracias! – Russell

18

No creo que haya ninguna forma directa de referenciar un proyecto en la solución. La mejor manera que se me ocurre es agregar un archivo FSX un lugar para su proyecto con la directiva #r:

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

A continuación, puede al menos hacer referencia al archivo DLL compilada simplemente pulsando 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).

+4

Hmmm, sí, pensé que sería la mitad del punto de tener la ventana interactiva de F # en el IDE, sería obtener algún contexto del IDE. Espero que alguien pueda arrojar algo más de luz sobre esto? – Russell

+2

+1 Actualmente, F # Interactive está realmente desconectado del sistema del proyecto en Visual Studio. –

+0

Veo un elemento de menú 'enviar proyecto a F # interactivo' en explorador de soluciones en proyectos F #, pero no en proyectos C# = ( – Maslow

28

que tengo 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 cae en FSI con todas las cosas esté cargada

+1

esta respuesta sería excelente si mostrara cómo , o trabajé con una ruta relativa – Maslow

+0

Creo que esto ahora es 'Ctrl + Shift + Enter' de manera predeterminada y requiere seleccionar primero el contenido del archivo – Abel

1

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

Por ejemplo: "FSI/i: pathOfLib1/r: LIB1/i: pathOfLib2/r: LIB2 ...."

PS: la base en el artículo de MSDN no parece que los nombres de biblioteca puede incluya sus prefijos de ruta, por lo tanto, separándolos en/i y/i: http://msdn.microsoft.com/en-us/library/dd233172%28v=vs.100%29.aspx

15

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

+1

Hasta ahora, esta es la mejor respuesta que he encontrado. ¡Muchas gracias por la información! – Michael

1

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:". Tal script podría pasar los metadatos de solución que permiten que los entornos estén más integrados, como la carga de las últimas salidas del proyecto.

Cuestiones relacionadas