2015-02-02 15 views
18

Sto provando le nuove funzionalità di C# 6.0 all'interno di Visual Studio 2015 CTP e il mio progetto non riesce a creare in TFS 2013 e Visual Studio Online.C# 6.0 TFS Builds

Comprendo che Visual Studio utilizza il nuovo compilatore , che sostituisce quello nativo .NET e che pertanto l'agente di creazione TFS non è in grado di compilare.

La mia domanda è come installare Roslyn sull'agente di build (e all'interno di Visual Studio Online) e indicare all'agente di build di utilizzare questo compilatore su nativo?

+0

Probabilmente non è possibile installare nulla su VS online. – i3arnon

+0

Ho letto da qualche parte che posso creare una VM di Azure per ospitare un agente di build. Questo mi lascia ancora grattarmi la testa su come farlo usare a Roslyn. –

+0

Quindi probabilmente puoi puntare l'agente per costruire con i tuoi strumenti CTP VS 2015 ([so che può essere fatto in TeamCity] (http://stackoverflow.com/a/19351747/885318)) – i3arnon

risposta

12

Per la fase di compilazione, avete un paio di opzioni:

  1. è possibile fare riferimento il pacchetto Microsoft.Net.Compilers NuGet su una base per-progetto per utilizzare tale versione dei compilatori.
  2. È possibile installare il pacchetto Microsoft Build Tools che fa parte del pacchetto CTP VS 2015 senza installare tutto VS.

Tuttavia, come osserva @MrHinsh, questi approcci potrebbero lasciarti perdere altre parti della tua catena degli strumenti.

+0

se aggiungo il pacchetto net.compilers mi viene ancora restituito un errore di compilazione: "csc2.exe" è terminato con il codice 2427728 – Console

+0

@jessehouwing anche per Tfs2013? – Maslow

+0

il pacchetto di compilatori è così bello: D –

3

Se si crea un VM di Azure con Server 2012 r2 e si installa Visual Studio 2015 CTP e TFS 2013 Build, è possibile collegarlo a VSO.

Dovresti quindi essere in grado di completare la compilazione e utilizzerà automaticamente il nuovo compilatore.

Mentre è possibile installare solo i compilatori, c'è molto altro da fare che compilare. Molto probabilmente avrai bisogno di altre funzionalità di Visual Studio, come Unit Testing, da eseguire come parte della tua build. Il tuo agente di sviluppo dovrebbe riflettere la tua workstation standard per sviluppatori. Se i tuoi sviluppatori ne hanno bisogno, allora l'agente ne ha bisogno.

Nota: Visual Studio è concesso in licenza a singoli utenti e non per macchina. Non è necessaria alcuna licenza per eseguirlo su un build agent. Infatti, se hai una licenza singola registrata o di un determinato livello, ad esempio Ultimate, puoi installarla su ogni server di build.

+1

Giusto, i compilatori di Roslyn sono installato dagli strumenti di compilazione MSI che fanno parte di VS2015, ma possono essere installati separatamente. In alternativa, è possibile modificare i compilatori in base al progetto utilizzando http://www-1.nuget.org/packages/Microsoft.Net.Compilers/ –

+0

Probabilmente sarà necessario installare Visual Studio. Ma provatelo se vi piace ... –

+0

Non è necessario installare Visual Studio per ottenere i compilatori C# e VB in VS2013 o VS2015. Il pacchetto di strumenti di sviluppo è progettato per l'installazione su macchine di generazione senza una licenza VS. –

0

Utilizzato /tv:14.0/p: GenerateBuildInfoConfigFile = false /p:VisualStudioVersion=14.0 negli argomenti di MSBuild nella sezione Processo di BuildTemplate.

+1

Testata questa configurazione e non funziona. È necessario utilizzare una definizione di build diversa: consultare http://stackoverflow.com/questions/32659106/tfs-2013-building-net-4-6-c-sharp-6-0?rq=1 – Quango

+0

con TfvcTemplate.12 .xaml il parametro /tv:14.0 è sufficiente. vedi http://stackoverflow.com/a/32662291/1196586 – gReX