8

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.

  1. 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).
  2. 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

risposta

20

Questo problema si verifica in genere quando i pacchetti Nuget vengono controllati a controllo della versione. Eliminare la cartella dei pacchetti in Controllo versione e assicurarsi che il file "packages.config" sia archiviato in Controllo versione. Quindi accodare una nuova build.

+0

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 ... –

+0

Si potrebbe anche voler aggiungere il percorso dei pacchetti al file gitignore –

2

Si scopre che i pacchetti NuGet sono stati impegnati nel repository e hanno infranto tutto. L'eliminazione della directory project \ project \ packages dal repository ha risolto tutti i problemi di build dal momento che NuGet recupera automaticamente i pacchetti durante la compilazione.

0

ho aggiornato alla versione precedente del pacchetto e il problema risolto

0

ho cancellato la cartella Packages nella build e che fissa per me.

Problemi correlati