La solución se compiló correctamente, pero después de agregar un archivo de clase existente al proyecto, apareció este error:
No se pudo ejecutar el ejecutable de la tarea especificada "csc.exe". No se pudo cargar el archivo o ensamblado 'System.Security.Principal.Windows, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' o una de sus dependencias. El sistema no puede encontrar el archivo especificado. MvcApplicationRegister
Instalé el paquete System.Security.Principal.Windows By NuGet, pero aún aparece el error.
En mi caso podría pasar de Microsoft.Net.Compilers 2.4.0 a Microsoft.Net.Compilers 2.10.0 . No es necesario utilizar Microsoft.Net.Compilers 2.8.2 .
La actualización de Microsoft.CodeDom.Providers.DotNetCompilerPlatform y la eliminación de Microsoft.Net.Compilers funcionó para mí.
Cierre todas las instancias de Visual Studio. Luego vuelva a abrir la solución y reconstruya.
No me gusta eliminar paquetes sin entender primero lo que estoy eliminando. Enfrenté el mismo problema con mi solución.
Descubrí que 1 de los muchos proyectos estaba usando el paquete Microsoft.Net.Compilers NuGet, llamémoslo Proyecto ABC. Un proyecto de prueba unitaria hacía referencia a ese proyecto ABC, pero no al paquete Microsoft.Net.Compilers NuGet.
Simplemente hice referencia al paquete Microsoft.Net.Compilers NuGet de mi proyecto de prueba unitaria y el problema desapareció.
Si usa Microsoft.CodeDom.Providers.DotNetCompilerPlatform , puede actualizar a 2.x y luego eliminar Microsoft.Net.Compilers porque ya no es necesario . Eso lo resolvió para mí, sin embargo, ni siquiera pude construir la solución en primer lugar. Sin embargo, todavía se quejaba de System.Security.Principal.Windows , también podría resolverlo haciendo referencia a System.Security como un conjunto. Aunque no es recomendable .
Tenía este mismo problema y lo resolvió.
En un controlador MVC de solución de 3 proyectos (Web, Business, Data)
Causado por la instalación de Microsoft.Net.Compiler 2.9.0 en el proyecto web pero no en los otros proyectos.
Para resolver: Haga clic derecho en la solución. Administrar paquetes NuGet. Instalado > Busque el compilador Asegúrese de que sea la misma versión y que esté instalado en todos los proyectos de su solución
Tuve el mismo problema después de actualizar Microsoft.Net.Compiler de 2.8.2 a 2.9.0. Después de cambiar a 2.8.2, los proyectos se compilaron sin errores.
Desinstalé Microsoft.CodeDom.Providers.DotNetCompilerPlatform y Microsoft.Net.Compilers y ahora todo funciona.
Ninguna de las respuestas anteriores funcionó para mí.
El problema era que no tenía instalado el SDK de .NET Compiler Platform.
Para resolverlo, abra el instalador de Visual Studio, elija "Modificar" y, en la pestaña "Componente individual", verifique el SDK de la plataforma del compilador .NET y confirme los cambios haciendo clic en "Modificar".
Después de instalarlo y volver a abrir Visual Studio, el problema desapareció.