No se pudo cargar el archivo o ensamblado ‘Microsoft.CodeAnalysis, version = 1.3.1.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35’ o una de sus dependencias

Una actualización se produjo anoche y ahora no puedo hacer un ctrl + ‘.’ para sugerencias de código en VS 2015. Aparece un mensaje de error que dice lo siguiente:

No se pudo cargar el archivo o ensamblado ‘Microsoft.CodeAnalysis, version = 1.3.1.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35’ o una de sus dependencias. El sistema no puede encontrar el archivo especificado.

Todavía puedo construir y desarrollar, pero esto será realmente molesto sin esta característica. ¡Lo admito, me estoy ablandando!

¿Alguien tiene una sugerencia para solucionar este error?

Tuve el mismo problema con Visual Studio 2015 Actualización 2, para resolver el problema globalmente para todas las soluciones, actualizar a Visual Studio 2015 Update 3 . Aquí hay un enlace: Descargar desde aquí

Como señaló @CaptainAmerica, la solución es actualizar el ensamblado CodeDom de NuGet. Uno debe señalar cómo hacer esto en Visual Studio. Encontré la solución aquí:

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

Básicamente, en el menú de Visual Studio, seleccione:

Tools-> Nuget Package Manager -> Package Manager Console

En la consola que aparece en la parte inferior de Visual Studio, ejecute este comando:

 Install-Package Microsoft.CodeDom.Providers.DotNetCompilerPlatform 

Si alguna de las opciones no funciona, aquí está la guía detallada para manejar este escenario ….

En primer lugar, la versión es importante. Observe la versión mencionada en el error …

 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 ve el error anterior, significa que no puede encontrar la versión 1.3.1. Ahora crea un nuevo proyecto de VS Sin preferencias, puede ser simplemente una aplicación de consola simple. Ahora, una vez que la plantilla del proyecto esté lista, ve al Administrador de paquetes y ejecuta el siguiente comando con tu versión especificada …

 Install-Package Microsoft.CodeAnalysis -Version 1.3.1 

Esto instalará todos los paquetes. Deja que se complete. Una vez hecho. No necesitamos este proyecto recién creado en absoluto. Puedes eliminarlo por completo ¡Seriamente! puedes borrarlo Hicimos esto porque queríamos que ese paquete se instalara a nivel global. Cuando instalas algo, Nuget también lo almacena a nivel global de tu máquina. Path será algo como esto …

 C:\Users\<>\.nuget\packages 

Puedes conocer tu camino siguiendo …

 %USERPROFILE%\.nuget\packages 

Ahora verá su Microsoft.CodeAnalysis.dll requerido allí en la siguiente carpeta …

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

Tenga en cuenta que la ruta anterior contiene el número de versión (1.3.1). Si su versión es diferente, busque en esa carpeta de versión.

Ahora que tiene dll con usted, todo lo que necesita hacer es agregar esa dll a GAC. Para eso necesitarás GacUtil.exe

Este archivo ya está instalado junto con Visual Studio. Puede buscar “GacUtil” en la unidad C. Para mí, está ahí en el camino de abajo …

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

Ahora ejecute el símbolo del sistema como administrador y navegue por el directorio actual hacia su ruta que contiene GacUtil. El comando run below para instalar ese dll en GAC.

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

Básicamente, proporcionamos la ruta a dll que instalamos globalmente. Mostrará el mensaje de instalación exitosa.

¡Eso es todo! Ahora inicie su Visual Studio de nuevo y se solucionará este problema.

Encontré esta página y en la parte inferior de la página bajo “Compatibilidad con ASP.NET” dice que ASP.NET usa el paquete nuget Microsoft.CodeDom.Providers.DotNetCompilerPlatform para actualizar los ensamblados de Microsoft.CodeAnalysis. ¡Así que actualicé el paquete DotNetCompilerPlatform de 1.0.0 a 1.0.3 y funciona de nuevo! Sí, la vida es buena otra vez!

Para resolver este problema para todas las soluciones, necesitaba instalar el ensamblado Microsoft.CodeAnalysis.dll directamente en el GAC – Global Assemblies Cache .

Obtuve el archivo Microsoft.CodeAnalysis.dll de C: / Users / [user] /. Nuget / packages / Microsoft.CodeAnalysis.Common / 1.3.2 / lib / portable-net45 + win8 / Microsoft.CodeAnalysis.dll .

Para instalar el ensamblado en el GAC, utilicé un script de PowerShell de https://github.com/LTruijens/powershell-gac .

Finalmente, logré instalar el ensamblado al GAC con el siguiente comando de PowerShell:

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

Yo también estaba enfrentando el mismo problema. Mi versión de Visual Studio 2015 fue 2.0. Lo actualicé a la versión 3.

Problema fue resuelto !!!

He resuelto el problema de esta manera:

Actualizar Visual Studio 2015 a la Actualización 3

desde el menú, seleccione Ver => Notificaciones => Actualización de Visual Studio 3 y haga clic en el botón de actualización.

Solucioné este problema actualizando todas las dependencias de Nuget Microsoft a v2.0.0. Esto estaba usando VS 2017. Estaba usando una versión de vista previa.

En mi caso, el error ocurrió después de apagar la Prueba de la unidad en vivo y ejecutar las pruebas de forma manual. Algunas pruebas fallarían con el mensaje de error anterior.

Entrar en Prueba -> Prueba de unidad en vivo -> Opciones y emitir “Eliminar datos persistentes” resolvió el problema.