I think .NET assemblies looks like normal executables, like .exe/.dll so we can use normal PATH variable and let the OS find them. while Java uses .class/.jar and the OS knows nothing about these.

and, since Mono works like Java, it does have a MONO_PATH variable.