¿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?

Softerware
fuente
Pruebe esta solución kx.cloudingenium.com/programming/net/…
Pramod Sutar

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.

Softerware
fuente
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.

bazinga
fuente
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.

Stephen Garside
fuente
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

Cătălin Rădoi
fuente
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.
tika
fuente
6

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

Rohit
fuente
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
5

Eliminar el paquete y limpiar la solución me resolvió.

usuario3085805
fuente
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).

Felipe Romero
fuente
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ó!

Desastre
fuente
3

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

N.Rybchenko
fuente
2

Utilice el siguiente paso:

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

Sumant Singh
fuente
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.

Terry H
fuente
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.
Litisqe Kumar
fuente
0

Intenté esto en una instalación limpia de una máquina con Windows 10 y el problema para mí terminó siendo que no tenía el marco .NET 3.5 instalado. Esta pregunta de stackoverflow ayuda a explicar por qué.

No se puede construir un proyecto WIX en Windows 10

usuario2197446
fuente
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.

ravula sandeep
fuente
0

Eliminar la carpeta bin funcionó para mí

amar beeharry panray
fuente
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 ...

Craig
fuente
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ó.

emeka
fuente
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

Reiniciar el universo
fuente
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.

batidor
fuente