La tâche BuildTasks.Csc n'a pas pu être chargée à partir de l'assembly?

96

Je me sens coupable de poser une question comme celle-ci ici, mais je suis perdu et j'apprécierais de l'aide.

Une preuve de concept telle qu'une application Web a été créée sur un PC et placée sur un dépôt pour être téléchargée sur un autre PC à un emplacement différent. À l'origine, une fonctionnalité de création automatique était configurée dans laquelle Azure créerait et publierait automatiquement lors de l'enregistrement, mais cela a été supprimé. Les choses fonctionnaient des deux côtés jusqu'à ce qu'un côté inclue une grande partie des changements exclus. Maintenant, je vois l'erreur suivante:

La tâche «Microsoft.CodeAnalysis.BuildTasks.Csc» n'a pas pu être
chargée à partir de l'assembly ... \ packages \ Microsoft.Net.Compilers.1.0.0 \ build .. \ tools \ Microsoft.Build.Tasks.CodeAnalysis.dll. Impossible de charger le fichier ou l'assembly 'file: /// ... \ packages \ Microsoft.Net.Compilers.1.0.0 \ tools \ Microsoft.Build.Tasks.CodeAnalysis.dll' ou l'une de ses dépendances. Le système ne peut pas trouver le fichier spécifié. Confirmez que la déclaration est correcte, que l'assembly et toutes ses dépendances sont disponibles et que la tâche contient une classe publique qui implémente Microsoft.Build.Framework.ITask.

Quelqu'un a-t-il des suggestions sur par où commencer la recherche du problème?

Logiciels
la source
Essayez cette solution kx.cloudingenium.com/programming/net/…
Pramod Sutar

Réponses:

117

Il s'avère que les packages NuGet ont été validés dans le référentiel et ont tout cassé. La suppression du répertoire project \ project \ packages du référentiel a résolu tous les problèmes de build, car NuGet récupère les packages automatiquement lors de la génération.

Logiciels
la source
Assurez-vous d'inclure le dossier des packages dans VSTS, ainsi que le contenu ... J'ai juste fait le contenu des packages et j'ai obtenu l'erreur
SteveC
1
J'ai des packages nuget engagés sur tous mes projets. Le seul problème est que lorsque vous voulez les ajouter au contrôle de code source, les fichiers * .dll sont des "éléments exclus" par défaut, donc vous ne validez que des répertoires vides au lieu de vos nugets. C'est pourquoi même la restauration de nuget n'aide pas, car les répertoires sont en place, donc nuget pense que tout va bien.
Jiří Herník
Une solution de filetage similaire peut être trouvée ici kx.cloudingenium.com/programming/net/…
Pramod Sutar
Je ne sais pas pourquoi cela a fonctionné ... Quelle est la raison?
Richard Duerr
65

J'ai eu cette erreur lorsque j'ai créé une nouvelle branche pour mon projet.

Cela m'a rendu fou pendant une heure. J'ai essayé la plupart des suggestions sur Internet, y compris la réponse acceptée à cette question.

J'ai ensuite fermé le projet, l'ai rouvert, l'ai nettoyé et l'erreur a disparu. Cela signifie donc que cela pourrait être un problème de cache.

Bref, je voulais juste partager.

bazinga
la source
6
Merci! Pour moi, c'était d'abord le dossier du package. Ensuite, j'ai toujours eu l'erreur, mais le redémarrage de VS a fonctionné :)
dsnunez
35

J'ai aussi essayé la meilleure réponse sans succès, alors j'ai supprimé le contenu de mon répertoire bin et packages, fermé et rouvert VS et tout va bien maintenant.

Stephen Garside
la source
1
Celui-ci m'a aidé. J'ai essayé d'exécuter un projet ASP.NET existant dans VS 2015 dans Parallels et cela me donnait l'erreur ci-dessus. La suppression des dossiers 'bin' et 'packages', le redémarrage de VS et une version propre ont fait l'affaire!
A3mercury
17

J'ai essayé toutes les solutions décrites auparavant, mais aucune n'a fonctionné.

Ce qui a résolu le problème pour moi , a été de mettre à jour les compilateurs Microsoft.Net à partir du gestionnaire de packages NuGet

Cătălin Rădoi
la source
2
J'ai eu le problème inverse. J'étais trop optimiste et j'ai téléchargé la dernière version RC. Lorsque je suis revenu à la dernière version stable, tout allait bien.
Cool Blue
1
J'ai mis à niveau de la 2.8 à la 3.1.1 et cela a résolu mon problème. Merci!
Dan Csharpster
13
  • Cliquez avec le bouton droit sur votre solution.
  • Accédez à Gérer les packages Nuget.
  • Recherchez Microsoft.Net.Compilers.
  • Installez ou mettez à jour des projets dépendants si nécessaire.
tika
la source
6

Reconstruire, nettoyer la solution et redémarrer Visual Studio a fonctionné pour moi.

Rohit
la source
1
Oui, même chose ici, mais redémarrer VS ne suffisait pas - j'ai dû redémarrer mon ordinateur, puis tout s'est bien passé.
Billious
Le redémarrage de mon ordinateur a fait l'affaire. Je ne sais pas si j'avais besoin de faire tous les nettoyages et réinstallations des paquets nuget.
Don Rolling
5

La suppression du paquet et le nettoyage de la solution l'ont résolu pour moi.

user3085805
la source
4

La suppression de ces trois répertoires résout le problème.

  • /paquets
  • /poubelle
  • / obj

REMARQUE : supprimez à la fois / bin et / obj de tous les projets inclus dans la solution (y compris les projets de test).

Felipe Romero
la source
3

Le problème se cache sur TFS, vous devez supprimer le dossier TestProject ... \ packages de TFS, l'archiver, le supprimer de votre répertoire local et le reconstruire. Travaillé!

Catastrophe
la source
3

Je supprime tout du dossier des packages et reconstruit la solution. Cela a fonctionné pour moi.

N.Rybchenko
la source
3

Utilisez l'étape ci-dessous:

1) Supprimez le dossier du package.
2) fermez le studio visuel.
3) ouvrez le projet et reconstruisez le projet.

Sumant Singh
la source
2

Dans mon cas: cela fonctionne pour moi.

Il s'avère que mon coéquipier avait déjà commencé à se pencher sur le développement de Windows 10 et avait installé Microsoft Build Tools 2015 sur sa machine.

J'ai installé le logiciel à partir de https://www.microsoft.com/en-us/download/details.aspx?id=48159 et le problème a été résolu.

Ajmal
la source
1

Dans mon cas, la solution était:

Utilisez l'Explorateur Windows et accédez au chemin d'accès incriminé: C: \ MyApplication \ Code \ Main \ ABCProject \ ABCProject.UI \ Bin

Cliquez avec le bouton droit sur le dossier bin> sélectionnez les propriétés> décochez ReadOnly.

Terry H
la source
1

Dans mon cas, la solution était:

  1. Cliquez avec le bouton droit sur Solution.
  2. Accédez à Gérer les packages Nuget pour cette solution.
  3. Recherchez Microsoft.CodeDom.Providers.DotNetCompilerPlatform.
  4. Désinstallez le package recherché.
  5. Redémarrez Visual Studio.
Litisqe Kumar
la source
0

Je viens d'essayer ceci sur une installation propre d'une machine Windows 10 et le problème pour moi a fini par être que je n'avais pas installé le framework .NET 3.5. Cette question de stackoverflow aide à expliquer pourquoi.

Impossible de créer le projet WIX sous Windows 10

user2197446
la source
0

Cliquez avec le bouton droit sur Solution. Accédez à Gérer les packages Nuget pour cette solution. RecherchezMicrosoft.Net.Compilers dans la section Parcourir.

ravula sandeep
la source
0

La suppression du dossier bin a fonctionné pour moi

amar beeharry panray
la source
0

Dans la communauté vs2017, un nouvel élément est apparu dans le menu "build". Il a disparu après que je l'ai utilisé et s'appelait quelque chose comme " Optimiser les packages de construction de projet ". J'ai cliqué dessus et il a tout réparé, il suffit de redémarrer, etc. Je l'ai fait sur deux machines.

Ce qu'il a fait a été supprimé Microsoft.net.compilers 2.10.0et remplacé parMicrosoft.CodeDom.Providers.DotNetCompilerPlatform 2.0.1

Alors voilà - plus automagique ...

Craig
la source
0

Mon projet a été construit avec .Net Core 2.2 mais j'avais un aperçu .Net core 3.0 installé. J'ai désinstallé .Net Core 3.0 de mon système et parcouru toutes mes bibliothèques de classes, supprimant Microsoft.Net.Compilers 3.0, puis reconstruit et cela a fonctionné.

emeka
la source
0

J'ai déplacé ma solution d'un lecteur à un autre, et l'un des fichiers n'a pas pu être copié car «utilisé», pour lequel je clique sur ignoré, produisant l'erreur décrite dans cet article. La copie du fichier manquant l'a corrigé manuellement.

fichier: Microsoft.Build.Tasks.CodeAnalysis.dll Répertoire de destination: packages \ Microsoft.Net.Compilers.2.1.0 \ tools

Redémarrez l'univers
la source
0

Pour moi, j'essayais d'ouvrir un projet MVC5 dans VS 2013 et j'obtenais cette erreur, je l'ai ouvert dans VS 2017 et cela a très bien fonctionné.

fouet
la source