2008-09-16 6 views
6

Puedo tener esto completamente equivocado, pero mi entendimiento es que la opción de compilador --standalone le dice al compilador que incluya el núcleo F # y otras dependencias en el exe, para que pueda ejecutarlo en otra máquina sin instalar ningún 'runtime' .¿Alguien tiene la opción --standalone para trabajar en F # CTP?

Sin embargo, no puedo hacer que esto funcione en el CTP, ni siquiera parece cambiar el tamaño del archivo de salida (los documentos que he leído dicen que son aproximadamente 1M extra).

"Google saben, pero si lo hace, no está diciendo, o no estoy buscando en el lugar correcto"

ACTUALIZACIÓN:

Parece que funciona con la última CTP update 1.9.6.2

Update2:

he experimentado desde otro error:

FSC(0,0): error FS0191: could not resolve assembly Microsoft.Build.Utilities. 

Si obtiene errores como este al intentar compilar --standalone, debe incluirlos explícitamente como referencias en su proyecto.

Respuesta

4

respuesta desde MS:

Hay una actualización de CTP 1.9.6.2 que fija algunos errores --standalone.

que estoy de volver a instalar ahora ...

ACTUALIZACIÓN: funciona para mí - por lo que la respuesta aceptada es mi descarga CTP de actualización 1.9.6.2.

1

F # Manual: Statically linking the F# library using "--standalone"

¿trató de ejecutar la utilidad peverify.exe?

+0

"Todas las clases y métodos en MyApp.exe verificados." Por lo que entiendo (es decir, no mucho), peverify.exe solo verifica la coherencia interna y 'tipo de seguridad' del exe. P.ej. solo verifica que la versión independiente se haya realizado correctamente, no si se ha realizado en absoluto. – Benjol

1

Esto ha sido un odio de las mascotas durante mucho tiempo (se ha roto en todos los lanzamientos de CTP, incluido el último lanzamiento de 1.9.6.16 de mayo de 2009). La "solución" es esencialmente escribir su propio sistema de compilación que no está roto.

Esto es un problema real para mí porque he acumulado cientos de excelentes programas F # que me gustaría poner en nuestro sitio, pero lleva horas construir cada uno en un ejecutable independiente.

Cuestiones relacionadas