2011-04-12 9 views
5

En la edición definitiva VS2010 si la mano la bandera --standalone a la f # compilador en los proyectos panel no va a vincular un proyecto de C# vacía con unos archivos de configuración/archivos de recursosStaticlink vs peculiaridad independiente con F #

Será Sin embargo, vincule el conjunto si declara explícitamente --staticlink: Config

Esto se siente como un error ... si es intencional, ¿puedo preguntar por qué sería esto?

Respuesta

11

Este es un comportamiento esperado:

  • La bandera independiente vincula estáticamente la FSharp.Core.dll (F # tiempo de ejecución) y cualesquiera conjuntos de referencia que dependen de ella (es decir, cualquier otro # ensamblajes F). Ellos deben estar vinculados, ya que pueden compartir algunos tipos con el conjunto principal (por ejemplo, F # list tipo, etc.)

  • Los staticlink enlaces bandera cualquier ensamblaje que se especifique de forma explícita (y cualquier ensamblado que dependen de él). Esto significa que puede usar la opción para vincular, por ejemplo, la biblioteca C# a la que hace referencia su ensamblaje F # principal.

creo que los dos casos son manejados por separado, porque inlining F # tiempo de ejecución requiere un manejo especial ligeramente (casi todos los F # código utiliza de alguna manera, y el compilador probablemente lo trata de manera diferente)

Cuestiones relacionadas