C # recursiva Dependência não ser encontrado

votos
0

Estou aprendendo C # para um projeto, e estou tendo um pouco de dificuldade com dependências. Essencialmente aqui é como as coisas são criadas:

O projeto em si, uma biblioteca chamada (XMLupdater), depende do pacote NuGet. Em seguida, tenho outro projeto usado para testar a biblioteca acima (que eu chamei XMLtester). Aqui está a minha solução para o projeto de teste, com a biblioteca adicionado como uma dependência no Visual Studio: ligação bc I não pode incorporar imagens ainda

Tanto quanto eu posso dizer, tudo aqui é um-ok, mas eu recebo um erro em tempo de execução dizendo que ele não pode encontrar o pacote NuGet. Ele diz o seguinte:

System.IO.FileNotFoundException: 'Could not load file or assembly 'XmlDiffPatch.Core, Version=1.0.1.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified.'

Eu tentei tudo que eu posso pensar para corrigir isso, mas ele está vindo para baixo para o fato de que eu não tenho muita experiência com essa linguagem e ide, e dependências podem ser real estranho às vezes. Pedi alguns outros sem sucesso, então eu decidi pedir o conselho sábio de você pessoas. Qualquer ajuda?

Obrigado!

Publicado 02/09/2018 em 05:05
fonte usuário
Em outras línguas...                            


1 respostas

votos
0

Parece que você tem problema de versão de montagem. O assembly referenciado na sua solução teria versão diferente do que o que é mostrado na mensagem de erro.

Existem 2 maneiras de corrigir esta situação:

  1. Obter a versão exata do conjunto que é mostrado no erro e adicionar referência a esse.
  2. Use bindingRedirect em seu arquivo de configuração para dizer compilador qual a versão que procurar.

Para a segunda opção, você pode adicionar / atualizar o <assemblyRedirectelemento no arquivo de configuração do seu projeto em execução.

<dependentAssembly>  
  <assemblyIdentity name="someAssembly"  
    publicKeyToken="32ab4ba45e0a69a1"  
    culture="en-us" />  
  <bindingRedirect oldVersion="1.0.0.0" newVersion="— add the actual version of the assembly referenced in your project —" />  
</dependentAssembly>  

Use o atributo newVersionpara definir a versão do XmlDiffPatch.Core referenciado no seu projeto.

Você pode encontrar mais detalhes sobre isso aqui: https://docs.microsoft.com/en-us/dotnet/framework/configure-apps/redirect-assembly-versions

Respondeu 02/09/2018 em 08:03
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more