visual studio para net descargar configurar compile code c# visual-studio

para - visual studio c# descargar



No se pudo cargar el archivo o conjunto Microsoft.CodeAnalysis (4)

Me di cuenta de esto yo mismo. Para cualquiera que lea esto, el problema era que el paquete Nuget Microsoft.CodeDom.Providers.DotNetCompilerPlatform (que también contiene el paquete CodeAnalysis) era la versión incorrecta. Creé un nuevo proyecto web, actualicé el paquete ofensivo de Nuget de inmediato y el problema se resolvió.

Tengo un proyecto web que intento alojar, pero cuando el servidor intenta compilarlo, aparece el siguiente error:

Excepción no controlada: System.IO.FileLoadException: No se pudo cargar el archivo o el ensamblaje ''Microsoft.CodeAnalysis, Version = 1.1.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35'' o una de sus dependencias. La definición del manifiesto del ensamblaje localizado no coincide con la referencia del ensamblaje. (Excepción de HRESULT: 0x80131040) ---> System.IO.FileLoadException: No se pudo cargar el archivo o conjunto ''Microsoft.CodeAnalysis, Version = 1.0.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35'' o una de sus dependencias. La definición del manifiesto del ensamblaje localizado no coincide con la referencia del ensamblaje. (Excepción de HRESULT: 0x80131040)
--- Fin del seguimiento de la pila de excepciones internas --- en Microsoft.CodeAnalysis.CSharp.CommandLine.Program.Main (String [] args)

Así que el servidor tiene una versión más antigua de CodeAnalysis que mi proyecto. Así que vamos a intentar una redirección vinculante!

<dependentAssembly> <assemblyIdentity name="Microsoft.CodeAnalysis" publicKeyToken="31bf3856ad364e35" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-9.9.9.9" newVersion="1.0.0.0" /> </dependentAssembly>

Lamentablemente, todavía me sale el mismo error. ¿Qué estoy haciendo mal?



Resolví este problema pero asegurándome de que los números de versión de los ensamblajes en mi web.config eran correctos.

Editar:

También tengo este problema y algunos pueden preguntarse cómo Web.Config puede volverse incorrecto. En mi caso, estoy usando Web.Config Transforms para que el archivo Web.Config se sobrescriba:

Cambiar el número de versión en el compilador Web.Configs (en Web.Template.Config) al número que coincida con la versión de NuGet resuelve el problema:

<compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.5.0