De vbforums, há duas respostas possíveis, de jmcilhinney . Alguém diz :
I'm not 100% sure but I think it likely that that NetworkAvailabilityChanged event is presumably a wrapper for the NetworkChange.NetworkAvailabilityChanged event. The documentation for that event says:
The NetworkChange class raises NetworkAvailabilityChanged events when the availability of the network changes. The network is available when at least one network interface is marked "up" and is not a tunnel or loopback interface.
Provavelmente você tem pelo menos uma interface de rede sem túnel ou loopback marcada como "up", mesmo quando você desconecta o cabo de rede.
e o outro :
My guess would be that it uses a Windows-specific API under the hood that is not available on Linux and either has no analogue or at least it hasn't been implemented in Mono.
Existe também esta pergunta no StackOverflow que ainda não tem resposta. Eu estava lendo o código-fonte do mono , tentando descobrir esse problema. Embora tenha uma função LinuxNetworkChange ()
, não vi qual é o problema (e não estou muito familiarizado com o mono).
De qualquer forma, desde que você não disse que o programa estava disparando um erro, pode ser que ele não tenha sido capturado ou o mono não o ouve por causa disso. Uma busca mais robusta está à frente.