.NET does not promote good code organization

There… I said it!

I’ve been more and more exposed to Java and I really have to say I love the constraints that Java puts on you as far as organizing code. Your packages need to follow your folder hierarchy, and one public class per file.

I understand that you can do this with VS.NET as well, however, sometimes when you get in a hurry, its easy to let these things slip by and what you end up with is a big sloppy mess… Unlike Java, it is not enforced at compile time. If I dont keep my code well organized, the compiler fails.

Is it really that hard make the language or framework promote good coding practices and organization?