Impossibile caricare l'attività BuildTasks.Csc dall'assembly?


96

Mi sento in colpa a porre una domanda come questa da queste parti, ma sono perplesso e apprezzerei un aiuto.

Una prova di concetto come un'applicazione web è stata creata su un PC e montata su un repository per il download su un altro PC in una posizione diversa. In origine era stata configurata una funzionalità di compilazione automatica in cui Azure avrebbe compilato e pubblicato automaticamente al momento del check-in, ma è stata rimossa. Le cose stavano funzionando su entrambi i lati fino a quando un lato non includeva una massa di modifiche escluse. Ora vedo il seguente errore:

Impossibile
caricare l' attività "Microsoft.CodeAnalysis.BuildTasks.Csc" dall'assembly ... \ packages \ Microsoft.Net.Compilers.1.0.0 \ build .. \ tools \ Microsoft.Build.Tasks.CodeAnalysis.dll. Impossibile caricare il file o l'assembly "file: /// ... \ 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.

Qualcuno ha qualche suggerimento su dove iniziare a cercare il problema?


Risposte:


117

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


Assicurati di includere la cartella dei pacchetti effettiva in VSTS, così come il contenuto ... Ho fatto solo il contenuto dei pacchetti e ho ricevuto l'errore
SteveC

1
Ho pacchetti nuget impegnati su tutti i miei progetti. L'unico problema è che quando si desidera aggiungerli al controllo del codice sorgente, i file * .dll sono "elementi esclusi" per impostazione predefinita, quindi si esegue il commit solo delle directory vuote invece dei nuget. Ecco perché anche il ripristino di nuget non aiuta, perché le directory sono a posto, quindi nuget pensa che sia tutto a posto.
Jiří Herník

Una soluzione di thread simile può essere trovata qui kx.cloudingenium.com/programming/net/…
Pramod Sutar

Non so perché ha funzionato ... Qual è il motivo?
Richard Duerr

65

Ho ricevuto questo errore quando ho creato un nuovo ramo per il mio progetto.

Mi ha fatto impazzire per un'ora. Ho provato la maggior parte dei suggerimenti su Internet inclusa la risposta accettata a questa domanda.

Ho quindi chiuso il progetto, aperto di nuovo, pulito e l'errore è sparito. Quindi questo significa che potrebbe essere un problema di cache.

Comunque, volevo solo condividere.


6
Grazie! Per me, prima era la cartella del pacchetto. Quindi, ho ancora avuto l'errore, ma il riavvio di VS ha funzionato :)
dsnunez

35

Anch'io ho provato la risposta migliore senza fortuna, quindi ho cancellato il contenuto del mio cestino e dei pacchetti, chiuso e riaperto VS e tutto a posto ora.


1
Questo mi ha aiutato. Ho provato a eseguire un progetto ASP.NET esistente in VS 2015 in Parallels e mi dava l'errore sopra. La rimozione delle cartelle "bin" e "packages", il riavvio di VS e una build pulita hanno funzionato!
A3mercury

17

Ho provato tutte le soluzioni descritte prima, ma nessuna ha funzionato.

Quello che lo ha risolto per me è stato aggiornare Microsoft.Net.Compilers da NuGet Package Manager


2
Ho avuto il problema opposto. Ero troppo ottimista e ho scaricato l'ultima versione RC. Quando sono tornato all'ultima versione stabile, era ok.
Cool Blue,

1
Ho aggiornato dalla 2.8 alla 3.1.1 e ho risolto il mio problema. Grazie!
Dan Csharpster

13
  • Fare clic con il tasto destro sulla soluzione.
  • Vai a Gestisci pacchetti Nuget.
  • Cerca Microsoft.Net.Compilers.
  • Installa o aggiorna i progetti dipendenti secondo necessità.

6

Ricostruire, pulire la soluzione e riavviare Visual Studio ha funzionato per me.


1
Sì, lo stesso qui, tuttavia il solo riavvio di VS non è stato sufficiente: ho dovuto riavviare il computer, quindi è andato tutto bene.
Billious

Il riavvio del mio computer ha funzionato. Non sono sicuro se avevo bisogno di fare tutte le pulizie e reinstallazioni dei pacchetti nuget.
Don Rolling il

5

L'eliminazione del pacchetto e la pulizia della soluzione hanno risolto il problema.


4

L'eliminazione di queste tre directory risolve il problema.

  • /pacchi
  • /bidone
  • / obj

NOTA : eliminare sia / bin che / obj da tutti i progetti inclusi nella soluzione (inclusi i progetti di test).


3

Il problema si nasconde su TFS, è necessario rimuovere la cartella TestProject ... \ packages da TFS, archiviarlo, eliminarlo dalla directory locale e ricostruire. Lavorato!


3

Elimino tutto dalla cartella dei pacchetti e ricostruisco la soluzione. Ha funzionato per me.


3

Usa il passaggio seguente:

1) Elimina la cartella del pacchetto.
2) chiudi lo studio visivo.
3) apri il progetto e ricostruisci il progetto.



1

Nel mio caso, la soluzione era:

Usa Windows Explorer e vai al percorso incriminato: C: \ MyApplication \ Code \ Main \ ABCProject \ ABCProject.UI \ Bin

Fare clic con il tasto destro sulla cartella bin> selezionare proprietà> deselezionare ReadOnly.


1

Nel mio caso, la soluzione era:

  1. Fare clic con il tasto destro su Soluzione.
  2. Vai a Gestisci pacchetti Nuget per questa soluzione.
  3. Cercare Microsoft.CodeDom.Providers.DotNetCompilerPlatform.
  4. Disinstalla il pacchetto cercato.
  5. Riavvia Visual Studio.


0

Fare clic con il tasto destro su Soluzione. Vai a Gestisci pacchetti Nuget per questa soluzione. CercaMicrosoft.Net.Compilers nella sezione Browse.



0

Nella community vs2017 è apparso un nuovo elemento nel menu "build". È scomparso dopo che l'ho usato ed è stato chiamato qualcosa come " Ottimizza i pacchetti di compilazione del progetto ". L'ho cliccato e ha risolto tutto, riavvia semplicemente ecc. L'ho fatto su due macchine.

Quello che ha fatto è stato rimosso Microsoft.net.compilers 2.10.0e sostituito conMicrosoft.CodeDom.Providers.DotNetCompilerPlatform 2.0.1

Quindi ecco qua - più automagic ...


0

Il mio progetto è stato creato con .Net Core 2.2 ma avevo installato l'anteprima di .Net core 3.0. Ho disinstallato .Net Core 3.0 dal mio sistema e ho esaminato tutte le mie librerie di classi, rimuovendo Microsoft.Net.Compilers 3.0, quindi ricostruito e ha funzionato.


0

Ho spostato la mia soluzione da un drive all'altro e non è stato possibile copiare uno dei file perché "in usato", per il quale clicco ignorato, producendo l'errore descritto in questo post. La copia del file mancante lo ha risolto manualmente.

file: Microsoft.Build.Tasks.CodeAnalysis.dll Directory di destinazione: packages \ Microsoft.Net.Compilers.2.1.0 \ tools


0

Per me stavo cercando di aprire un progetto MVC5 in VS 2013 e stavo ricevendo questo errore, l'ho aperto in VS 2017 e ha funzionato perfettamente.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.