A tarefa BuildTasks.Csc não pôde ser carregada do assembly?

96

Sinto-me culpado por fazer uma pergunta como esta por aqui, mas estou perplexo e gostaria de receber alguma ajuda.

Um aplicativo da web de prova de conceito foi criado em um PC e colocado em um repositório para fazer o download em outro PC em um local diferente. Havia originalmente um recurso de compilação automática configurado onde o Azure iria compilar e publicar automaticamente no check-in, mas foi removido. As coisas estavam funcionando em ambas as extremidades até que um lado incluiu uma grande quantidade de alterações excluídas. Agora estou vendo o seguinte erro:

A tarefa "Microsoft.CodeAnalysis.BuildTasks.Csc" não pôde ser
carregada do assembly ... \ packages \ Microsoft.Net.Compilers.1.0.0 \ build .. \ tools \ Microsoft.Build.Tasks.CodeAnalysis.dll. Não foi possível carregar o arquivo ou assembly 'file: /// ... \ packages \ Microsoft.Net.Compilers.1.0.0 \ tools \ Microsoft.Build.Tasks.CodeAnalysis.dll' ou uma de suas dependências. O sistema não pode encontrar o arquivo especificado. Confirme se a declaração está correta, se o assembly e todas as suas dependências estão disponíveis e se a tarefa contém uma classe pública que implementa Microsoft.Build.Framework.ITask.

Alguém tem alguma sugestão sobre por onde começar a procurar o problema?

Softterware
fonte
Experimente esta solução kx.cloudingenium.com/programming/net/…
Pramod Sutar

Respostas:

117

Acontece que os pacotes NuGet estavam comprometidos com o repositório e quebrando tudo. Excluir o diretório project \ project \ packages do repo resolveu todos os problemas de compilação, pois o NuGet busca os pacotes automaticamente na compilação.

Softterware
fonte
Certifique-se de incluir a pasta de pacotes real no VSTS, bem como o conteúdo ... Eu fiz apenas o conteúdo dos pacotes e recebi o erro
SteveC
1
Tenho pacotes nuget comprometidos em todos os meus projetos. O único problema é quando você deseja adicioná-los ao controle de origem, os arquivos * .dll são "itens excluídos" por padrão, portanto, você apenas confirma diretórios vazios em vez de seus nugets. É por isso que nem mesmo restaurar o nuget ajuda, porque os diretórios estão no lugar, então o nuget pensa que está tudo bem.
Jiří Herník de
Uma solução de thread semelhante pode ser encontrada aqui kx.cloudingenium.com/programming/net/…
Pramod Sutar
Não sei porque funcionou ... Qual é a razão?
Richard Duerr
65

Recebi este erro quando criei um novo branch para meu projeto.

Isso me deixou louco por uma hora. Tentei a maioria das sugestões na internet, incluindo a resposta aceita para essa pergunta.

Em seguida, fechei o projeto, abri novamente, limpei e o erro desapareceu. Isso significa que pode ser um problema de cache.

De qualquer forma, só queria compartilhar.

Bazinga
fonte
6
Obrigado! Para mim, primeiro foi a pasta do pacote. Então, eu ainda tinha o erro, mas reiniciar o VS funcionou :)
dsnunez
35

Eu também tentei a primeira resposta sem sorte, então apaguei o conteúdo do meu diretório de lixeira e pacotes, fechei e reabri o VS e está tudo bem agora.

Stephen Garside
fonte
1
Este me ajudou. Tentei executar um projeto ASP.NET existente no VS 2015 no Parallels e estava me dando o erro acima. Remover as pastas 'bin' e 'pacotes', reiniciar o VS e uma compilação limpa resolveu o problema!
A3mercúrio
17

Tentei todas as soluções descritas antes, mas nenhuma funcionou.

O que resolveu para mim foi atualizar o Microsoft.Net.Compilers a partir do NuGet Package Manager

Cătălin Rădoi
fonte
2
Eu tive o problema oposto. Eu estava muito otimista e baixei a versão RC mais recente. Quando voltei para a última versão estável, estava tudo bem.
Cool Blue
1
Eu atualizei de 2.8 para 3.1.1 e corrigiu meu problema. Obrigado!
Dan Csharpster
13
  • Clique com o botão direito na sua solução.
  • Vá para Gerenciar Pacotes Nuget.
  • Pesquise Microsoft.Net.Compilers.
  • Instale ou atualize em projetos dependentes conforme necessário.
tika
fonte
6

Reconstruir, limpar a solução e reiniciar o Visual Studio funcionou para mim.

Rohit
fonte
1
Sim, o mesmo aqui, porém apenas reiniciar o VS não foi suficiente - tive que reiniciar meu computador, então deu certo.
Billious,
Reiniciar meu computador resolveu o problema. Não tenho certeza se preciso fazer todas as limpezas e reinstalações dos pacotes nuget.
Don Rolling
5

Excluir o pacote e limpar a solução resolveu para mim.

user3085805
fonte
4

Excluir esses três diretórios resolve o problema.

  • / pacotes
  • / bin
  • / obj

NOTA : exclua / bin e / obj de todos os projetos incluídos na solução (incluindo projetos de teste).

Felipe romero
fonte
3

O problema se esconde no TFS, você precisa remover a pasta TestProject ... \ packages do TFS, fazer check-in, excluí-lo do seu diretório local e compilar novamente. Funcionou!

Desastre
fonte
3

Excluo tudo da pasta de pacotes e recompilo a solução. Funcionou para mim.

N.Rybchenko
fonte
3

Use a etapa abaixo:

1) Exclua a pasta do pacote.
2) feche o estúdio visual.
3) abra o projeto e reconstrua o projeto.

Sumant Singh
fonte
2

No meu caso: isso funciona para mim.

Acontece que meu colega de equipe já havia começado a pesquisar o desenvolvimento do Windows 10 e tinha o Microsoft Build Tools 2015 instalado em sua máquina.

Instalei o software de https://www.microsoft.com/en-us/download/details.aspx?id=48159 e o problema foi resolvido.

Ajmal
fonte
1

No meu caso, a solução foi:

Use o Windows Explorer e navegue até o caminho incorreto: C: \ MyApplication \ Code \ Main \ ABCProject \ ABCProject.UI \ Bin

Clique com o botão direito na pasta bin> selecione propriedades> Desmarque ReadOnly.

Terry H
fonte
1

No meu caso, a solução foi:

  1. Clique com o botão direito na solução.
  2. Vá para Gerenciar Pacotes Nuget para esta Solução.
  3. Pesquise Microsoft.CodeDom.Providers.DotNetCompilerPlatform.
  4. Desinstale o pacote pesquisado.
  5. Reinicie o Visual Studio.
Litisqe Kumar
fonte
0

Eu tentei fazer isso em uma instalação limpa de uma máquina com Windows 10 e o problema para mim acabou sendo que eu não tinha o .NET 3.5 framework instalado. Esta questão stackoverflow ajuda a explicar por quê.

Não é possível construir projeto WIX no Windows 10

user2197446
fonte
0

Clique com o botão direito na solução. Vá para Gerenciar Pacotes Nuget para esta Solução. Pesquise porMicrosoft.Net.Compilers na seção Navegar.

Ravula Sandeep
fonte
0

Excluir a pasta bin funcionou para mim

amar Beeharry Panray
fonte
0

Na comunidade vs2017, apareceu um novo item no menu "construir". Ele desapareceu depois que eu o usei e foi chamado de algo como " Otimizar pacotes de construção de projeto ". Cliquei e ele consertou tudo, é só reiniciar etc. Fiz isso em duas máquinas.

O que ele fez foi removido Microsoft.net.compilers 2.10.0e substituído porMicrosoft.CodeDom.Providers.DotNetCompilerPlatform 2.0.1

Então aí está - mais automagia ...

Craig
fonte
0

Meu projeto foi construído com .Net Core 2.2, mas eu tinha o .Net Core 3.0 preview instalado. Desinstalei o .Net Core 3.0 do meu sistema e passei por todas as minhas bibliotecas de classe, removendo o Microsoft.Net.Compilers 3.0, depois reconstruí e funcionou.

emeka
fonte
0

Mudei minha solução de uma unidade para outra, e um dos arquivos não pôde ser copiado porque "está em uso", para o qual clico em ignorado, produzindo o erro descrito neste post. Copiar o arquivo ausente manualmente consertou.

arquivo: Microsoft.Build.Tasks.CodeAnalysis.dll Diretório de destino: packages \ Microsoft.Net.Compilers.2.1.0 \ tools

Reinicie o universo
fonte
0

Para mim, eu estava tentando abrir um projeto MVC5 no VS 2013 e estava recebendo este erro, Abri no VS 2017 e acima funcionou muito bem.

batedeira
fonte