2014-05-05 9 views
5

Ho scritto alcune estensioni di Visual Studio che supportano VS2012 + VS2013. Mi piacerebbe usare F # in loro; e sono un po 'confuso riguardo ai tempi di percorrenza ...F # 3.1 richiede l'installazione di un runtime specifico?

Io sto scegliendo .NET 4.5 (non 4.5.1), ma posso anche selezionare tra F # 3.0 e 3.1. Sono consapevole F # 3.1 fornito con VS2013 (e .NET 4.5.1), quindi non sono sicuro se:

  1. Posso usare F # 3.1 e .NET 4.5, o fa F # 3.1 richiede .NET 4.5 .1? (VS mi consente di scegliere questa combinazione)
  2. Un progetto che si rivolge a F # 3.1 funziona su una macchina con VS2012 e nessun programma più recente installato? Ho visto un post sul blog che menzionava un "runtime F #"; ma FSharp.Core.dll viene incluso nella mia build, quindi non è chiaro se sia sufficiente utilizzare 3.1?

(Targeting 3.0 non è un grosso problema, non sembra esserci una grande quantità in 3.1, ma sarebbe utile sapere come si riferiscono queste cose).

+0

Le estensioni supportano F # come lingua di destinazione? Iscriviti a [us] (https://github.com/fsprojects/VisualFSharpPowerTools) per alcuni divertimenti che scrivono le estensioni VS in F # e per F # :). – pad

+0

@pad Le estensioni non sono per .NET, ma per portare test esterni in Visual Studio; per esempio. dal Karma di Google: http://visualstudiogallery.msdn.microsoft.com/bfe6feb7-7ec4-4e8e-9d90-cf6ea2cd2169 –

risposta

3

Per rispondere a 1:

Posso usare F # 3.1 e .NET 4.5, o fa F # 3.1 richiede .NET 4.5.1? (VS permette a scegliere questa combinazione)

Sì, è possibile

  • 4.3.1.0 (F # 3.1/.NET 4) Questa è la più recente versione ufficiale. A meno che non si abbia l'esigenza di utilizzare .NET 2 o di utilizzare alcuni componenti F # legacy che non funzioneranno con 3.1, questa è la versione che si deve usare per qualsiasi nuova app desktop.
  • 4.3.0.0 (F # 3.0/.NET 4) Questi sono gli stessi bit forniti con VS 2012. È incluso in modo da poter continuare a lavorare sui progetti F # 3.0 in VS 2013 senza retargeting a 3.1. Dovresti usare questo se hai un progetto desktop F # 3.0 legacy che non sei pronto a passare a 3.1 ancora.

Per rispondere a 2:

È possibile aprire e lavorare con F # progetti che sono stati creati in Visual Studio 2013 o Visual Studio 2012 in entrambe le versioni di Visual Studio, senza apportare alcuna modifica. L'unica eccezione è che, la prima volta che si apre un progetto di Visual Studio 2012 in Visual Studio 2013, Visual Studio apporta una piccola modifica per consentire l'utilizzo del progetto in entrambe le versioni. Questa capacità è nota come round-trip. È possibile specificare quale versione del runtime F # (e della libreria principale) si desidera scegliere come destinazione nella scheda Applicazione delle proprietà del progetto. Scegli F # 3.0 se stai creando una libreria che deve essere eseguita in molti contesti o se vuoi partecipare al round-trip del progetto. Se scegli F # 3.0, non sarai in grado di utilizzare nessuna delle funzionalità linguistiche che sono nuove in F # 3.1, come casi di unione con nome e slicing di array avanzato. Se si modifica il runtime di destinazione su F # 3.1, non è possibile riaprire il progetto in Visual Studio 2012.

+0

Quindi qualsiasi macchina in grado di eseguire un'app F # 3.0 può eseguire un'app F # 3.1; senza ulteriori installazioni/runtime? (con l'aggiornato FSharp.Core fornito con l'app; ofcourse) –

+0

Sì, hai ragione. –

+0

Don Syme ha anche risposto su Twitter confermando questo: https://twitter.com/dsyme/status/463312550479011841 –

Problemi correlati