本案例涉及编写一个程序,该程序最终将使用 Mono,但在此之前使用 Wine 作为替代品。
目前,特定引用存在问题:
无法加载文件或程序集 Microsoft.Extensions.Logging.Abstractions.dll“version=1.0.0.0 [etc]”或其依赖项之一。 所定位的程序集的清单定义与程序集引用不匹配
到目前为止,通过我的尝试,使用带有此引用的程序集绑定重定向还没有解决这个问题;即使将引用的版本号更改为 1.0.0.0,然后抛出版本 2.1.0.0 无法加载。
删除 /bin 文件夹后重新编译程序并使用 Nuget 更新引用并不能解决问题。
它确实在原生 Windows 环境中运行,所以这似乎是 Wine 特有的,不是吗?
答案1
更新
在这种特殊情况下,使用新的 Wine 前缀并全新安装某些组件有助于winetricks
解决问题。
其他步骤
同时,在使用新前缀之前,如问题中所述,参考资料已更新。此外,Assembly Binding Redirection
已应用于所提及的参考资料,因此无需手动执行(在发布问题时之前测试的更改已恢复为默认值)。
最后要注意的是,这Wine-Mono
不是必需的,并且没有添加到新的 Wine 前缀中,甚至没有测试它是否之前导致任何错误(也许不太可能)。