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?


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.


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.


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.


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


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.

6

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


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.


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


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é!


3

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


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.



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.


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.


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.



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


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


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


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

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.