web-dev-qa-db-fra.com

Impossible de charger le fichier ou l'assembly 'Microsoft.CodeAnalysis, version = 1.3.1.0, Culture = neutre, PublicKeyToken = 31bf3856ad364e35' ou l'une de ses dépendances.

Une mise à jour a eu lieu la nuit dernière et je me trouve maintenant incapable de faire un Ctrl + '.' pour les suggestions de code dans VS 2015. Un message d'erreur s'affiche, indiquant ce qui suit:

Impossible de charger le fichier ou l'assembly 'Microsoft.CodeAnalysis, version = 1.3.1.0, Culture = neutre, PublicKeyToken = 31bf3856ad364e35' ou l'une de ses dépendances. Le système ne peut pas trouver le fichier spécifié.

Je peux toujours construire et développer mais ce sera vraiment ennuyant sans cette fonctionnalité. Je l'avoue, je commence à mollir!

Quelqu'un a une suggestion pour résoudre ce problème?

66
Captain America

J'ai eu le même problème avec Visual Studio 2015 Update 2, pour résoudre le problème globalement pour toutes les solutions, mettez à jour vers Visual Studio 2015 Update 3. Voici un lien: Télécharger à partir d'ici

27
shopOFF

Comme l'a souligné @ CaptainAmerica, la solution consiste à mettre à jour l'assembly CodeDom de NuGet. Il convient de préciser comment procéder dans Visual Studio. J'ai trouvé la solution ici:

https://www.nuget.org/packages/Microsoft.CodeDom.Providers.DotNetCompilerPlatform/

Fondamentalement, dans le menu Visual Studio, sélectionnez:

Tools-> Nuget Package Manager -> Package Manager Console

Dans la console qui apparaît au bas de Visual Studio, exécutez cette commande:

Install-Package Microsoft.CodeDom.Providers.DotNetCompilerPlatform
55
Vilhelm H.

Si l’une des options ne fonctionne pas, voici le guide détaillé pour gérer ce scénario ....

Tout d'abord la version est importante. Notez la version mentionnée dans l'erreur ...

Could not load file or Assembly 'Microsoft.CodeAnalysis, version= 1.3.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.

Si vous voyez l'erreur ci-dessus, cela signifie qu'il n'est pas possible de trouver la version 1.3.1. Créez maintenant un nouveau projet VS. Aucune préférence, il peut s'agir simplement d'une application console. Maintenant que le modèle de projet est prêt, accédez au gestionnaire de packages et exécutez la commande suivante avec la version spécifiée ...

Install-Package Microsoft.CodeAnalysis -Version 1.3.1

Cela installera tous les paquets. Laissez le compléter. Une fois que c'est fait. Nous n'avons pas du tout besoin de ce projet nouvellement créé. Vous pouvez le supprimer complètement. Sérieusement! vous pouvez le supprimer. Nous l’avons fait parce que nous voulions que ce paquet soit installé au niveau mondial des pépites. Lorsque vous installez quelque chose, Nuget le stocke également au niveau global de votre machine. Le chemin sera quelque chose comme ça ...

C:\Users\<<Your Windows User>>\.nuget\packages

Vous pouvez connaître votre chemin en suivant ...

%USERPROFILE%\.nuget\packages

Vous verrez maintenant votre fichier Microsoft.CodeAnalysis.dll requis dans le dossier suivant ...

C:\Users\<<Your Windows User>>\.nuget\packages\Microsoft.CodeAnalysis.Common\1.3.1\lib\net45

Veuillez noter que le chemin ci-dessus contient le numéro de version (1.3.1). Si votre version est différente, consultez le dossier de cette version. 

Maintenant que vous avez dll avec vous, tout ce que vous avez à faire est d’ajouter cette dll au GAC. Pour cela, vous aurez besoin de GacUtil.exe

Ce fichier est déjà installé avec Visual Studio. Vous pouvez rechercher "GacUtil" dans le lecteur C. Pour moi c'est en dessous du chemin ...

C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools

Maintenant, lancez la commande Invite en tant qu’administrateur et naviguez dans le répertoire actuel jusqu’à votre chemin contenant GacUtil. La commande Exécuter ci-dessous pour installer cette DLL dans GAC.

gacutil
 -i C:\Users\<<You Windows User>>\.nuget\packages\Microsoft.CodeAnalysis.Common\1.3.1\lib\net45\Mi
crosoft.CodeAnalysis.dll

Fondamentalement, fournir le chemin d'accès aux dll que nous avons installés globalement. Il montrera un message sur l'installation réussie. 

C'est tout! Maintenant, démarrez votre Visual Studio à nouveau et vous aurez ce problème résolu.

19
Dhrumil Bhankhar

J'ai trouvé cette page et au bas de la page, sous "Compatibilité avec ASP.NET", il est indiqué que ASP.NET utilise le package de nuget Microsoft.CodeDom.Providers.DotNetCompilerPlatform pour mettre à jour les assemblys Microsoft.CodeAnalysis. J'ai donc mis à jour le paquet DotNetCompilerPlatform de 1.0.0 à 1.0.3 et cela fonctionne à nouveau! Oui, la vie est belle à nouveau!

11
Captain America

Pour résoudre ce problème pour toutes les solutions, je devais installer Assembly Microsoft.CodeAnalysis.dll directement dans le GAC - Global Assemblies Cache.

J'ai reçu le fichier Microsoft.CodeAnalysis.dll de C:/Utilisateurs/[utilisateur] /. Nuget/packages/Microsoft.CodeAnalysis.Common/1.3.2/lib/portable-net45 + win8. CodeAnalysis.dll.

Pour installer l'assembly sur le GAC, j'ai utilisé un script PowerShell à partir de https://github.com/LTruijens/powershell-gac .

Enfin, j'ai réussi à installer l'assembly sur le GAC avec la commande suivante de PowerShell:

Add-GacAssembly [myPath]\Microsoft.CodeAnalysis.dll
8
Marcello

Je faisais également face au même problème. Ma version de Visual Studio 2015 était 2.0. Je l'ai mis à niveau vers la version 3. 

Problème résolu !!!

3
AbhijeetGaikwad

J'ai résolu le problème de cette façon:

Mettre à jour Visual studio 2015 à Update 3

dans le menu, choisissez Affichage => Notifications => Visual Studio Update 3 et cliquez sur le bouton de mise à jour.

2
MarianNikolov

Dans mon cas, cette erreur me causait parce que ma solution Visual Studio essayait d'utiliser TextTransform.exe au cours d'une étape de pré-génération dans l'un des projets, mais ma machine locale ne possédait pas le TextTransform.exe à le chemin spécifié par mon étape de pré-génération et ma première tentative de correction consistait simplement à copier TextTransform.exe d'un autre emplacement à l'endroit où Visual Studio s'attendait à ce qu'il soit. Cela semble avoir provoqué ce problème, car TextTransform.exe a d'autres dépendances silencieuses.

Mon correctif était de changer les étapes de pré-construction donc au lieu de chercher le fichier à

C:\Program Files (x86)\Common Files\Microsoft shared\TextTemplating\14.0\TextTransform.exe

au lieu de cela, il regarderait dans le dossier d'installation de Visual Studio qui contenait une multitude d'autres fichiers, dont l'un était probablement une dépendance entre pairs de TextTransform.exe

C:\Program Files\Visual Studio\Common7\IDE\TextTransform.exe

Cela semblait régler les problèmes pour moi.

0
MostlyArmless

J'ai trouvé les assemblys manquants dans le paquet NuGet (une fois le premier résolu, il y avait plusieurs autres): https://www.nuget.org/packages/Microsoft.Net.Compilers/1.3.1-rc

Les a installés en utilisant GacUtil à partir de la console de développement.

0
CoolMcGrrr

J'ai résolu ce problème en mettant à jour toutes les dépendances de Nuget Microsoft vers la version 2.0.0. Cela utilisait VS 2017. J'utilisais une version preview. 

0
Wilkoteq

Malheureusement, la solution complète avec "nuget install/gacutil" ci-dessus ne pouvait pas fonctionner car la version exacte de la dépendance dll n'était pas disponible.

Ce qui suit résolut mon problème dans notre application de formulaire Web complexe à exécuter dans la solution dans Visual Studio -> Outils -> Nuget -> gestionnaire de packages de console

Update-Package -reinstall 
0
jpb

Dans mon cas, l'erreur s'est produite après la désactivation de Live Unit Testing et l'exécution manuelle de tests. Certains tests échouent avec le message d'erreur ci-dessus.

Aller dans Test -> Test d'unité en direct -> Options et émettre "Supprimer les données persistantes" ont résolu le problème.

0
MonteChristo

J'ai corrigé un problème similaire en supprimant le dossier .vs situé dans la solution.

0
HonzaCZE