¿La tarea BuildTasks.Csc no se pudo cargar desde el ensamblaje?


95

Me siento culpable de hacer una pregunta como esta por aquí, pero estoy perdido y agradecería un poco de ayuda.

Se creó una aplicación web de prueba de concepto en una PC y se colocó en un repositorio para descargarla en otra PC en una ubicación diferente. Originalmente, existía una característica de creación automática configurada en la que Azure se compilaba y publicaba automáticamente al registrarse, pero se eliminó. Las cosas estaban funcionando en ambos extremos hasta que un lado incluyó la mayor parte de los cambios excluidos. Ahora veo el siguiente error:

La tarea "Microsoft.CodeAnalysis.BuildTasks.Csc" no se pudo
cargar desde el ensamblaje ... \ packages \ Microsoft.Net.Compilers.1.0.0 \ build .. \ tools \ Microsoft.Build.Tasks.CodeAnalysis.dll. No se pudo cargar el archivo o ensamblado 'file: /// ... \ packages \ Microsoft.Net.Compilers.1.0.0 \ tools \ Microsoft.Build.Tasks.CodeAnalysis.dll' o una de sus dependencias. El sistema no puede encontrar el archivo especificado. Confirme que la declaración sea correcta, que el ensamblado y todas sus dependencias estén disponibles y que la tarea contenga una clase pública que implemente Microsoft.Build.Framework.ITask.

¿Alguien tiene alguna sugerencia sobre por dónde empezar a buscar el problema?


Respuestas:


117

Resulta que los paquetes de NuGet se comprometieron con el repositorio y rompieron todo. Eliminar el directorio project \ project \ packages del repositorio resolvió todos los problemas de compilación ya que NuGet recupera los paquetes automáticamente en la compilación.


Asegúrese de incluir la carpeta de paquetes real en VSTS, así como el contenido ... Hice solo el contenido de los paquetes y obtuve el error
SteveC

1
Tengo paquetes nuget comprometidos en todos mis proyectos. El único problema es que cuando desea agregarlos al control de fuente, los archivos * .dll son "elementos excluidos" de forma predeterminada, por lo que solo confirma directorios vacíos en lugar de sus nugets. Es por eso que incluso restaurar nuget no ayuda, porque los directorios están en su lugar, entonces nuget piensa que todo está bien.
Jiří Herník

Se puede encontrar una solución de hilo similar aquí kx.cloudingenium.com/programming/net/…
Pramod Sutar

No sé por qué funcionó esto ... ¿Cuál es la razón?
Richard Duerr

65

Recibí este error cuando creé una nueva rama para mi proyecto.

Me volvió loco durante una hora. Intenté la mayoría de las sugerencias en Internet, incluida la respuesta aceptada a esta pregunta.

Luego cerré el proyecto, lo abrí nuevamente, lo limpié y el error desapareció. Entonces esto significa que esto podría ser un problema de caché.

De todos modos, solo quería compartir.


6
¡Gracias! Para mí, primero fue la carpeta del paquete. Entonces, todavía tenía el error, pero reiniciar VS funcionó :)
dsnunez

35

Yo también probé la respuesta principal sin suerte, así que eliminé el contenido de mi bin y el directorio de paquetes, cerré y volví a abrir VS y todo está bien ahora.


1
Este me ayudó. Intenté ejecutar un proyecto ASP.NET existente en VS 2015 en Parallels y me estaba dando el error anterior. ¡Eliminar las carpetas 'bin' y 'packages', reiniciar VS y una compilación limpia funcionó!
A3mercurio

17

Probé todas las soluciones descritas anteriormente, pero ninguna funcionó.

Lo que me resolvió fue actualizar Microsoft.Net.Compilers desde NuGet Package Manager


2
Yo tuve el problema contrario. Era demasiado optimista y descargué la última versión de RC. Cuando volví a la última versión estable, estaba bien.
Cool Blue

1
Actualicé de 2.8 a 3.1.1 y solucionó mi problema. ¡Gracias!
Dan Csharpster

12
  • Haz clic derecho en tu solución.
  • Vaya a Administrar paquetes Nuget.
  • Buscar Microsoft.Net.Compilers.
  • Instale o actualice en proyectos dependientes según sea necesario.

6

Reconstruir, limpiar la solución y reiniciar Visual Studio funcionó para mí.


1
Sí, lo mismo aquí, sin embargo, solo reiniciar VS no fue suficiente: tuve que reiniciar mi computadora, luego salió bien.
Billious

Reiniciar mi computadora funcionó. No estoy seguro de si necesitaba hacer todas las limpiezas y reinstalaciones de los paquetes nuget.
Don Rolling


4

Eliminar estos tres directorios resuelve el problema.

  • / paquetes
  • /compartimiento
  • / obj

NOTA : elimine tanto / bin como / obj de todos los proyectos incluidos en la solución (incluidos los proyectos de prueba).


3

El problema se esconde en TFS, debe eliminar la carpeta TestProject ... \ packages de TFS, registrarse, eliminarlo de su directorio local y compilar nuevamente. ¡Trabajó!


3

Elimino todo de la carpeta de paquetes y reconstruyo la solución. Me ha funcionado.



2

Utilice el siguiente paso:

1) Elimine la carpeta del paquete.
2) cierre el estudio visual.
3) abra el proyecto y reconstruya el proyecto.


1

En mi caso, la solución fue:

Utilice el Explorador de Windows y navegue hasta la ruta de acceso incorrecta: C: \ MyApplication \ Code \ Main \ ABCProject \ ABCProject.UI \ Bin

Haga clic derecho en la carpeta bin> seleccione propiedades> Desmarque ReadOnly.


1

En mi caso, la solución fue:

  1. Haga clic derecho en Solución.
  2. Vaya a Administrar paquetes Nuget para esta solución.
  3. Buscar Microsoft.CodeDom.Providers.DotNetCompilerPlatform.
  4. Desinstale el paquete buscado.
  5. Reinicie Visual Studio.


0

Haga clic derecho en Solución. Vaya a Administrar paquetes Nuget para esta solución. Busque compiladores de Microsoft.Net en la sección Examinar.



0

En la comunidad vs2017 apareció un nuevo elemento en el menú "construir". Desapareció después de que lo usé y se llamó algo así como " Optimizar paquetes de construcción de proyectos ". Hice clic en él y arregló todo, simplemente reinicie, etc. Lo hice en dos máquinas.

Lo que hizo fue eliminado Microsoft.net.compilers 2.10.0y reemplazado conMicrosoft.CodeDom.Providers.DotNetCompilerPlatform 2.0.1

Así que ahí tienes, más automágico ...


0

Mi proyecto fue creado con .Net Core 2.2 pero tenía instalada la vista previa de .Net Core 3.0. Desinstalé .Net Core 3.0 de mi sistema y revisé todas mis bibliotecas de clases, eliminé Microsoft.Net.Compilers 3.0, luego lo reconstruí y funcionó.


0

Moví mi solución de una unidad a otra, y uno de los archivos no se pudo copiar porque estaba "en uso", por lo que hice clic en ignorado, produciendo el error descrito en esta publicación. Copiar el archivo faltante lo solucionó manualmente.

archivo: Microsoft.Build.Tasks.CodeAnalysis.dll Directorio de destino: packages \ Microsoft.Net.Compilers.2.1.0 \ tools


0

Para mí, estaba tratando de abrir un proyecto MVC5 en VS 2013 y recibía este error, lo abrí en VS 2017 y funcionó bien.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.