Mono 与 .NET mscorlib.dll | “未找到方法”

Mono 与 .NET mscorlib.dll | “未找到方法”

此案例涉及我正在设计的应用程序。这是抛出的异常:

未处理的异常:

System.MissingMethodException:未找到方法>“HashHelpers.IsWellKnownEqualityComparer”。

当我尝试通过 Wine 运行 .NET Framework 4.6.1 应用程序时遇到此错误。我发现:

https://referencesource.microsoft.com/#mscorlib/system/collections/hashtable.cs,de3ba4873d4ad06a,参考资料

...这让我mscorlib.dll。我检查了一下,.NET 的 .dll 和 Mono 的 .dll 之间可能存在一定差异。无论如何,应用程序正在尝试使用 Mono 的 .dll 而不是 .NET 版本(这可能在一两秒钟后就很明显了)。

如果优先考虑跨平台功能,则特定的解决方案似乎是通过 Mono 构建应用程序。但是,如果有人没有应用程序的源代码,还有其他解决方案吗?

答案1

解决办法很简单。

错误如下:

我已经覆盖了 mscoree.dllwinecfg 什么时候安装 .NET Frameworks。另外,我在安装 Frameworks 时在 Wine 前缀上安装了 Mono。

结论

不是再次执行这些操作后,应用程序就可以正常工作了。我还需要使用葡萄酒控制台,如果值得一提的话(毕竟它是一个控制台应用程序)。

相关内容