Recentemente, conheci a seguinte exceção na solução C #:
Erro 2 Não foi possível carregar o arquivo ou assembly 'Newtonsoft.Json, Versão = 3.5.0.0, Culture = neutral, PublicKeyToken = b9a188c8922137c6' ou uma de suas dependências. O parâmetro está incorreto. (Exceção de HRESULT: 0x80070057 (E_INVALIDARG))
Isso não depende do meu código ou do nome do assembly (como Newtonsoft.Json
neste caso).
Quando eu excluo esta dll da solução, o compilador informa sobre outra na mesma exceção. Então, suponho que algo deva ser ativado / desativado no meu PC :)
c#
exception
compiler-construction
compiler-errors
Liker777
fonte
fonte
Respostas:
Parece que um assembly corrompido está sendo referenciado.
Limpar ambos:
a pasta \ bin do seu projeto
a pasta temporária (deve estar
C:\Users\your_username\AppData\Local\Temp\Temporary ASP.NET Files
no Windows 7)e veja se o erro ainda acontece
fonte
Dependendo se você estiver executando o X64, talvez seja necessário limpar mais alguns pontos. Apenas limpar meu diretório de usuários não foi suficiente.
Essa lista aumentará como se você tivesse outras versões da estrutura instaladas.
fonte
Eu tive que limpar
Somente então o problema foi resolvido.
fonte
Para saber o que limpar com certeza - adicione a seguinte chave do Registro:
Então você verá a saída como abaixo. Isso indica onde o asp.net está tentando carregar suas DLLs. Limpe este diretório.
fonte
Limpe os arquivos de estrutura temporários do seu projeto em: -
C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ Arquivos temporários do ASP.NET \
fonte
Você também pode limpar o diretório de pacotes e permitir que o NuGet baixe novamente os pacotes ausentes
resolveu o problema para mim
fonte
Exclua todos os arquivos dessas pastas.
fonte
Obter um novo conjunto de binários do controle Source ajudou.
obrigado
fonte
Apenas limpe esta pasta: (somente Windows x64)
fonte
Obrigado Alex, seu segundo ponto me ajudou a consertar isso.
Parece que, a menos que você execute o visual studio como administrador no Windows 7, ele armazena seus arquivos temporários localmente, em vez de arquivos ASP: C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ Temporary ASP.NET.
Consulte a seguinte publicação no blog: http://www.dotnetscraps.com/dotnetscraps/post/Location-of-Temporary-ASPNET-files-in-Vista-or-Windows-7.aspx
fonte
Eu tive o mesmo problema aqui - as soluções acima não funcionaram. O problema estava com o ActionMailer. Executei os seguintes comandos de desinstalação e instalação do nuget
Resolvi meus problemas, espero que ajude outra pessoa.
fonte
Isso pode acontecer ao fazer referência a DLLs de invólucro COM. No seu projeto do Visual Studio, em Referências, selecione as DLLs do invólucro COM que estão sendo referenciadas e verifique se eles têm os seguintes valores de propriedade: "Incorporar tipos de interoperabilidade": Falso e "Versão específica": Falso.
fonte
Acabei de excluir os dados temporários do aplicativo desse caminho
Resolução de problemas
fonte
Vejo muitos técnicos publicados sobre a limpeza de diretórios temporários de tempo de execução do ASP .Net pertencentes a cada estrutura .Net hospedada em sua máquina, como neste resposta. Mas acredito que devemos conhecer a logística clara de por que precisamos limpar cegamente todos os diretórios de trabalho temporários de todas as estruturas .Net. Segundo mim, não deveria ser o caso.
Meu conselho seria que você deveria tentar uma abordagem de limpeza de diretório pontiaguda para resolver esse problema. Como você saberia qual diretório limpar?
Manage Application
->Advanced Settings...
para abrir aAdvanced Settings
janela.DefaultAppPool
como mostrado abaixo:Application Pools
nó na barra de navegação esquerda no IIS. Agora verifique se a versão .Net CLR está sendo executada pelo seu pool de aplicativos. No meu caso, é a v4.0, como mostrado abaixo:Como a versão do CLR hospedada pelo meu pool de aplicativos é a v4.0, limpei apenas os arquivos temporários da pasta pertencentes ao ASP .NET v4.0 apenas como abaixo:
E é isso. Meu problema foi resolvido.
Lição aprendida : isso é indicativo do fato de que todos os arquivos temporários usados pelo seu site não estão espalhados por vários diretórios, mas são ao mesmo tempo referenciados pelo seu pool de aplicativos. Então, você precisa limpar apenas essa pasta específica.
fonte
A limpeza dos arquivos C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ Temporary ASP.NET funcionou para mim. Pensando em automatizar o processo de exclusão para evitar o problema no futuro.
fonte
Se você estiver usando o Data Tools do SQL Server 2012, que usa o shell do VS2010 em 1 de maio de 2013, verifique as configurações do Gerenciador de Configurações. Uma alteração no nome do servidor de Fluxo de trabalho para xCPWorkflow foi suficiente para produzir exatamente o mesmo. O parâmetro está incorreto (exceção de HRESULT: 0x80070057 (E_INVALIDARG)) .
fonte
Você pode limpar, criar ou reconstruir seu aplicativo ou simplesmente excluir arquivos ASP.NET temporários em C: \ Users \ YOUR USERNAME \ AppData \ Local \ Temp
Isso funciona como mágica. No meu caso, tive um problema de ligação de assembly dizendo Não foi possível carregar o arquivo bla bla bla
você também pode ver a solução 2 como http://www.codeproject.com/Articles/663453/Understanding-Clean-Build-and-Rebuild-in-Visual-St
fonte
Eu tive esse problema ao fazer o controlador no MVC. Eu mudei a versão do framework .net. O problema foi resolvido
fonte
O problema está relacionado à versão de tempo de execução .Net de uma biblioteca de classes referenciada (referências expandidas, selecione a biblioteca e verifique a "Versão de tempo de execução". Eu tive um problema com o Antlr3.Runtime, depois de atualizar meu projeto do visual studio para a v4.5. usei o NuGet para desinstalar o Microsoft ASP.NET Web Optimization Framework (devido a uma cadeia de dependências que me impediram de desinstalar o Antlr3 diretamente)
Em seguida, usei o NuGet para reinstalar o Microsoft ASP.NET Web Optimization Framework. Isso reinstalou as versões corretas de tempo de execução.
fonte
No meu caso, eu queria compilar uma DLL visível do COM. O problema era que uma versão mais antiga desta DLL estava localizada aqui:
Assim, o Visual Studio carregou essa versão em vez da recém-compilada, enquanto tentava registrá-la.
fonte
Limpar todos os arquivos da pasta temporária (pasta C: \ Users \ user_name \ AppData \ Local \ Temp \ Temporary ASP.NET Files \ project)
fonte
Às vezes, você também precisa limpar esta pasta: C: \ Windows \ Temp \ Temporary ASP.NET
fonte
Eu enfrentei o mesmo erro porque o aplicativo não encontrou estruturas dependentes na
C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\
pasta. Acabei de reparar meu Visual Studio, que adicionou a estrutura necessária no local acima e está funcionando bem.fonte
No meu caso, alterar o número da porta IISExpress nas propriedades do meu projeto resolveu o problema.
fonte
Se alguém por aí estiver usando o conjunto de ferramentas WiX, descobri que meu projeto de instalador tinha uma referência a um projeto antigo que havia sido removido recentemente da solução. Demorei um pouco para perceber, uma vez que havia vários projetos na solução que eu estava tentando criar e a mensagem não indicava qual projeto estava falhando na criação (e estava limpo, o que também estava falhando).
fonte
Eu tive usuários do Siemens Teamcenter 10 Client para Microsoft Office recebendo o mesmo erro sobre uma DLL diferente. Nenhuma das outras respostas funcionou. A solução foi excluir as pastas no
fonte
Eu tive o problema semelhante ao abrir o gerenciador de pacotes Nuget, removi todos os arquivos temporários e construí o projeto, funcionou bem.
fonte