Creazione di TFS 2013 .NET 4.6 / C # 6.0

Utilizziamo TFS 2013 come nostro server di build. Ho avviato un progetto C # 6.0 e sto cercando di farlo build. Sto usando i nuovi operatori null-condizionali e le mie strozzature di build. Ho provato a installare diverse cose sul server TFS, incluso il pacchetto di targeting e VS 2015. Ho provato a fornire /tv:14.0 agli argomenti di MSBuild.

Configuration \ EntityEntityConfig.cs (270): espressione espressione non valida ‘.’
Configuration \ EntityEntityConfig.cs (283): espressione espressione non valida ‘.’
Configuration \ EntityEntityConfig.cs (283): errore di syntax, ‘:’ previsto
… eccetera.

A questo punto, non ho idea di cos’altro provare. Ogni suggerimento sarà molto apprezzato.

Le persone che utilizzano TFS 2012 hanno riportato il successo utilizzando:

/tv:14.0 /p:GenerateBuildInfoConfigFile=false /p:VisualStudioVersion=14.0 

come argomenti per MSBuild. Forse questo potrebbe funzionare per te, ma finora questo non funziona per i miei agenti di compilazione TFS 2013.

Aggiornamento: finalmente ho capito che funziona su TFS 2013. Ecco cosa dovevo fare:

  1. Installa VS 2015 o Microsoft Build Tools 2015 (ne ho entrambi).
  2. Modifica la mia build per utilizzare un modello di processo di build chiamato TfvcTemplate.12.xaml . Immagino che qualsiasi modello più nuovo di questo farà, ma il DefaultTemplate.11.1.xaml sicuramente non funzionerà!)
  3. Impostare gli argomenti di MSBuild su /tv:14.0 Non ho dovuto usare gli altri due che ho menzionato sopra.

Sembra che l’argomento del comando /tv:14.0 non funzioni come previsto. Vedi: BuildActivity ignora ToolsVersion

Per ovviare al problema, è necessario personalizzare il modello del processo di creazione:

  1. Aprire il modello in Visual Studio e trovare l’attività Esegui MSBuild per Project MSBuild.
  2. Imposta ToolVersion su “14.0”.
  3. Impostare ToolPath su target su MSBuild14 (per impostazione predefinita: “C: \ Programmi (x86) \ MSBuild \ 14.0 \ Bin”).
  4. Controlla questo modello di processo di build e ri-accoda la build.

Se si sceglie di installare VS 2015 sul computer di costruzione, c’è un passaggio importante: aprirlo per il primo utilizzo e assicurarsi che sia concesso in licenza. In caso contrario, continuerai a riscontrare errori di compilazione.

Se esegui DefaultTempalte.11.1.xaml, trova l’attività msbuild (ce ne sono 2 in questo modello e la loro etichetta è “Esegui MSBuild per Project”) e modifica la proprietà ToolPath nel percorso del set di strumenti msbuild (per me era ” C: \ Programmi (x86) \ MSBuild \ 14.0 \ Bin “).

Nient’altro è necessario.

Se si utilizza UpgradeTemplate.xml, è sufficiente modificare “Esegui TfsBuild per la cartella di configurazione”:

1. Impostare ToolPath per il target su MSBuild14 (per impostazione predefinita: “C: \ Programmi (x86) \ MSBuild \ 14.0 \ Bin”).

2.Controllare questo modello di processo di build e ri-accodare la build.

Grazie!

Il processo di compilazione determina quale versione degli strumenti di sviluppo si sta utilizzando. Una definizione di build vanilla utilizza il modello di processo di build “DefaultTemplate.11.1.xaml”, configurato per utilizzare Build Tools 2013.

Il modo più veloce per risolvere questo problema è semplicemente passare a “TfvcTemplate.12.xaml”

Seleziona modello

Se si desidera modificare il modello predefinito, è necessario verificarlo da $ / [Progetto] /BuildProcessTemplates/DefaultTemplate.11.1.xaml, quindi modificare gli Argomenti per impostare BuildProcessVersion

Modifica la versione del processo di compilazione