How can I detect I\'m running under mono-service2? (in C#/.NET 3.5, running mono 2.6.7 on ubuntu 11)
Type.GetType(\"Mono.Runtime\")
tells me I\'m runnin
if (Environment.OSVersion.Platform.Equals(PlatformID.Unix))
{
}
Environment.UserInteractive
is the proper solution but, unfortunately, it is currently not implemented in Mono. I may take a look on it someday and upgrade this answer ;)
However just to detect you can probably use hacky solution around this one: name given to mono-service
in m
parameter will become the friendly name of application domain of that service (at least according to the current source code of mono-service
). So, when run with this parameter you should be able to test:
AppDomain.CurrentDomain.FriendlyName == "NameGivenToMParameter"
If it is true, then your application is apparently ran with mono-service (with given parameter). Print the value of application domain name to file to see if it really works (it does for me) ;) I do not know if it really resolves your problem.