“System.io.filenotfoundException: não foi possível carregar arquivo ou montagem” quando a montagem existe de fato

StackOverflow https://stackoverflow.com/questions/1540887

Pergunta

Como parte de nossa migração do .NET 1.1 para .NET 3.5, tivemos que trocar algumas DLLs de vender.

Um deles está nos dando problemas em apenas 1 ponto dos 4 pontos em que o usamos:

O Spot Spot é um projeto de formulário do Windows que usa a reflexão para carregar dinamicamente algumas DLLs que executam processos de corrida longa. Um desses processos de longa execução é um agente que se baseia em uma de nossas DLLs de vender

Estamos obtendo a exceção de montagem ausente no ponto em que inserimos uma função que faz referência à biblioteca. Eu já verifiquei as coisas tolas, como se tivéssemos esquecido de mover uma referência da versão antiga para a nova versão, mas esse não é o caso. Também verifiquei o diretório do projeto e a assembléia está lá.

Alguém encontrou uma situação em que o tempo de execução .NET 2.0 se recusa a carregar uma montagem como essa? E se sim, como poderíamos resolver o problema.

Informação adicional:

O fornecedor específico, neste caso, é o DTSearch e esse é o limite onde o erro é lançado:

Private Sub BuildIndex()
    SetIndexOptions()
    ExecuteIndexJob()
End Sub

Private Sub SetIndexOptions()
    'Body removed for brevity
End Sub

A biblioteca é referenciada em setIndexoptions. BuildIndex() é inserido, mas a exceção acontece quando o SetIndexoptions é chamado. A função nunca é realmente inserida.

Foi útil?

Solução 3

Acontece que a opção de compilação padrão foi alterada de vs2003 para vs2008 e estava compilando a bitness errada: agora me sinto um pouco bobo!

Outras dicas

Se você ainda está tendo problemas, pode usar o Visualizador de log de ligação à montagem (fuslogvw.exe) para identificar quais conjuntos são carregados pelo seu aplicativo. Esta ferramenta faz parte da estrutura .NET. Isso fornecerá detalhes sobre todos os conjuntos dependentes.

Eu usei isso no passado ao trabalhar com assembléias de terceiros, muito útil

A FilENotFoundException pode ser aumentada mesmo quando a montagem existe se um dos conjuntos dependentes não puder ser carregado.

Tente usar Walker dependência Para verificar e ver se todos os conjuntos dependentes também estão presentes.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top