[VS 2017] -System.IO.FileLoadException: Could not load file or assembly
![[VS 2017] -System.IO.FileLoadException: Could not load file or assembly](/content/images/size/w2000/2017/04/vs_2017-1.png)
Ola pessoALL,
Dando continuidade aos erros encontrados na migração para o VS 2017, hoje vamos falar de um outro erro comum na migração: System.IO.FileLoadException : Could not load file or assembly
.
Esse erro acontece quando atualizamos as dependências do projeto para as versões mais recentes mas algum pacote procura por uma versão antiga, por exemplo: Atualizamos o pacote Newtonsoft.Json
para a versão 10.x e algum pacote procura pela versão 9.x
A causa do erro é a falta do arquivo de bindings na compilação. Nas aplicações .net tradicionais isso era feito no web.config
ou no app.config
.
Solução 1 - Adicionar o arquivo .config manualmente
Podemos resolver esse erro de uma forma simples adicionando um arquivo .config
na nossa aplicação com as configurações de bindings.
Solução 2 - Gerar o arquivo de bindings automaticamente
O problema com a primeira solução é que temos que alterar o arquivo toda vez que uma nova atualização é realizada.
Mas podemos configurar o visual studio (funciona usando o dotnet cli também) para gerar o arquivo com os bindings automaticamente. Para isso siga os passos a seguir:
- Edite seu arquivo
*.csproj
- No primeiro
<PropertyGroup>
adicione as duas entradas a seguir:
<GenerateBindingRedirectsOutputType>true</GenerateBindingRedirectsOutputType>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
- Salve o arquivo e recompile o projeto.
Prontinho pessoALL, agora não teremos mais System.IO.FileLoadException
.
Espero ter ajudado, até a próxima.