After reading Jimmy Bogard’s post “Organizing ASP.NET MVC Solutions”, I decided to give it a try in my latest project. Basically it means ALL C# code is in the Core project and everything that represents a deployment are in the UI project. It makes deployment really simple. So far I like it because compile time is much faster and dealing with all the references is much simpler. Another thing to note is that if I wanted to extract anything out of my Core project, I’d just cut the folder I want to separate into another project. Here’s the structure of my current project after I got everything setup:
One difference between my setup and Jimmy’s is I don’t like having a Content folder. I’ve been doing the _c, _i, & _j since around 2003 and I like it for a few reasons. One, I always know that “global” items are at the top of my folder structure and I can quickly delete all other files in the structure. Two, it’s much shorter than content/images, content/css, content/etc. Three, I just like sticking with my standards I’ve created over the years. Definitely read Jimmy’s post for all his reasons and loads of comments.
Please let me know your thoughts! Thanks for reading!