Viene visualizzato il seguente messaggio quando si attiva una generazione durante il check-in in Visual Studio Online. A livello locale, compila e distribuisce bene.Errori di compilazione dei pacchetti mancanti in Visual Studio Online (versione 2015)
pacchetti \ Microsoft.Net.Compilers.1.0.0 \ tools \ Microsoft.CSharp.Core.targets (67, 5)
Per essere più precisi, questo è il problema viene descritto.
Il compito "Microsoft.CodeAnalysis.BuildTasks.Csc" Impossibile caricare dal gruppo C: \ a \ 1 \ s \ pacchetti \ Microsoft.Net.Compilers.1.0.0 \ costruire .. \ tools \ Microsoft.Build.Tasks.CodeAnalysis.dll. Impossibile caricare file o assembly 'file: /// C: \ a \ 1 \ s \ packages \ Microsoft.Net.Compilers.1.0.0 \ tools \ Microsoft.Build.Tasks.CodeAnalysis.dll' o una delle sue dipendenze . Il sistema non trova il file specificato. Verificare che la dichiarazione sia corretta, che l'assembly e tutte le sue dipendenze siano disponibili e che l'attività contenga una classe pubblica che implementa Microsoft.Build.Framework.ITask.
Quindi, evidentemente, ho qualche file inseriti localmente rendendo il lavoro di compilazione in loco (vale a dire la mia macchina), ma quelli che non vengono distribuiti con il check-in. Non ho inserito alcuna DLL o altro nel mio progetto manualmente. Tutto ciò che è lì è basato sul codice sorgente o ottenuto con il gestore pacchetti.
Che pone i seguenti problemi.
- Non so quali siano i file esatti (il messaggio di errore in Visual Studio Online non rivela tali informazioni e non riesco a riprodurlo localmente).
- Non sono sicuro di come forzare il caricamento forzato di tutti i file rilevanti nel repository per l'agente di costruzione (secondo la mia esperienza, è fatto automaticamente).
Le impostazioni nella fase di creazione sono le seguenti.
- Soluzione:. ** \ * sln
- MSBuild Argomenti:/p: DeployOnBuild = true/p: WebPublishMethod = Pacchetto/p: PackageAsSingleFile = true/p: SkipInvalidConfigurations = true/p : PackageLocation = "$ (costruire.artifactstagingdirectory) \\"
- Piattaforma:
- Configurazione:
- Clean: off
- Restore Pacchetti Nuget: controllato
- Visual Studio Versione: Visual Studio 2015
- MsBuild Architecture: MSBuild x86
- Record Dettagli del progetto: controllata
Yupp, l'ho risolto dopo innumerevoli ore di prove da 100 diversi angoli (e qualche aiuto qui). In effetti, quello che ho scoperto è che se si verifica ** la directory * pacchetti *** con tutti i suoi contenuti, funziona anche lui! Omettendo tutto e solo verificando ** il file * packages.config *** funziona pure. (Naturalmente, il ** modo corretto ** probabilmente ** non ** controllando quelli a tutti - la prima opzione.) Quello che è successo è che avevo depositato file * nupkg * ma non il resto e questo l'ha rotto! Ecco perché il mio VS ha suggerito di includere/escludere ... –
Si potrebbe anche voler aggiungere il percorso dei pacchetti al file gitignore –