Janelas para Vinho | Obtendo a exceção "não foi possível carregar arquivo ou montagem [etc]"

Janelas para Vinho | Obtendo a exceção "não foi possível carregar arquivo ou montagem [etc]"

Este caso envolve escrever um programa que eventualmente usará Mono, mas até então usará Wine como substituto.

Atualmente, há um problema com uma referência específica:

Não foi possível carregar o arquivo ou assembly Microsoft.Extensions.Logging.Abstractions.dll 'version=1.0.0.0 [etc]' ou uma de suas dependências. A definição do manifesto do assembly localizado não corresponde à referência do assembly

Até agora, com minhas tentativas, usar o Assembly Binding Redirection com esta referência não resolveu isso; mesmo alterando o número da versão referenciada para 1.0.0.0, a versão 2.1.0.0 não pode ser carregada.

Recompilar o programa após excluir a pasta /bin e atualizar as referências usando Nuget não resolveu o problema.

Ele funciona no ambiente nativo do Windows, então parece específico do Wine, talvez?

Responder1

Atualizar

Nesta circunstância específica, usar um novo prefixo Wine com uma instalação limpa de certos componentes ajudou winetricksa resolver o problema.

Etapas adicionais

Em conjunto, antes de utilizar um novo prefixo, conforme mencionado na pergunta, as referências foram atualizadas. Além disso, Assembly Binding Redirectionjá estava aplicado à referência mencionada, portanto não foi necessário fazer manualmente (as alterações que foram testadas anteriormente no momento da postagem da pergunta foram revertidas para o padrão).

Uma última observação é que Wine-Mononão foi obrigatório e não foi adicionado ao novo prefixo Wine, nem mesmo para testar se estava causando algum erro anteriormente (talvez improvável).

informação relacionada