gpt4 book ai didi

c# - Linux 上的 Mono 和缺少方法异常

转载 作者:太空宇宙 更新时间:2023-11-04 03:39:35 25 4
gpt4 key购买 nike

一直在尝试使用可在 Linux 上运行的单声道编程 GTK# 应用程序(尽管 GTK# 与我的问题没有直接关系)。

现在,我遇到的问题是我在 IPaddress 中使用函数 MapToIPv4()。当针对 Mono 4.5 时,此函数工作得很好,但当将其推广到我的 Linux 开发环境时,该函数会抛出

程序集/usr/lib/mono/gac/System/4.0.0.0__b77a5c561934e089/System.dll 中缺少方法 System.Net.IPAddress::MapToIPv4(),在程序集 myapp.exe 中引用”

经过一番研究,我发现这是因为这个函数仅在 MONO/.NET 4.5 中存在,而不是 4.0 中,而且我的 Linux 环境似乎只能到 4.0(因为如果我的目标是 4.0,它将无法使用此函数进行编译)。 (4.5 也不会显示为已安装的 mono 软件包,但有一个名为“Mono Core 库(适用于 CLI 4.5)”的东西。

如何让我的 Linux 允许使用此功能?这可能吗?我使用的是 Debian Wheezy (7.8),我使用的单声道版本是最新的 4.0.1。如果需要更多信息,请告诉我。谢谢。

最佳答案

首先要澄清一些困惑:Mono 的版本号有 no relationship带有 .NET 版本号,即 Mono 3.12.0 还附带了 .NET 4.5 配置文件。

正如您所发现的,MapToIPv4() 方法仅在 .NET 4.5 及更高版本中可用(在 .NET 4.0 中不可用)。您看到的异常是因为 Mono 尚未实现此特定 API。有一个开放的拉取请求来添加它:https://github.com/mono/mono/pull/641 .

与此同时,您唯一的选择是在代码中自行实现转换。

关于c# - Linux 上的 Mono 和缺少方法异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30329619/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com