Saltar al contenido

No se pudo cargar el archivo o ensamblado ‘Microsoft.CodeDom.Providers.DotNetCompilerPlatform

Luego de investigar con expertos en la materia, programadores de diversas ramas y maestros hemos dado con la solución al problema y la compartimos en esta publicación.

Solución:

Acabamos de tener este error en uno de nuestros entornos de prueba. El problema estaba en el archivo web.config. La sección tenía configuraciones para hacer referencia al ensamblado DotNetCompilerPlatform, pero tenía el número de versión incorrecto. Actualizamos web.config al número de versión adecuado y solucionó el error.


  
  

Este problema proviene de su paquete Nuget Microsoft.CodeDom.Providers.DotNetCompilerPlatform.

Es la versión incorrecta. Puede eliminar la versión actual y luego instalarla nuevamente desde Nuget.

También puede suceder si su carpeta de destino es diferente a “bin/”. Roslyn busca de forma predeterminada la carpeta “roslyn” en la carpeta “bin”, por lo que si está compilando, por ejemplo, en “bin/debug/”, es posible que no haya una carpeta roslyn allí y, por lo tanto, no puede encontrar el proveedor.

Puede solucionar esto volviendo a un objetivo simple “bin/” o asegurándose de que se copie una carpeta roslyn completa en la carpeta “bin/debug/” como un evento posterior a la compilación. Debido a que una publicación siempre se envía a la carpeta de destino correcta a pesar de la carpeta de destino de compilación de su máquina de compilación, es por eso que falla cuando se ejecuta localmente, pero funciona si la implementa.

(Algunas personas tienen el problema opuesto, funciona localmente, pero falla cuando se implementa en IIS, porque IIS no tiene una copia del proveedor de CodeDom en su GAC, pero ese es un problema totalmente diferente).

No se te olvide comunicar este escrito si si solucionó tu problema.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *