Yes and not, you surely can develop successfully with mono on linux, but .NET is not "write once, run everywhere", is more a "write once, run everything" framework.
It's heavy tangled with all the Microsoft and Windows technology and promote the reuse of code in that ecosystem.