All right. Start Visual Studio and create a new Windows Forms project. Note that how the damn thing creates the solution with the same name as your project. This will turn out to be a problem later.
Now, that you have a project and a solution. Try adding a different type of a project to the solution. Does the Visual Studio window title change to the name of your current project? No. Does Solution Explorer make the new project as the current default project? No. When you build and compile, your first project will be the one that runs first. The makers of Visual Studio are under the impression that the first project is a “loader” for other projects and runs it first. If you want to run the current project, you need to select it in Solution Explorer and set it as the “Startup” project. Double-clicking the current project makes no difference.
Visual Studio is moronic like this in many ways. In Eclipse, if you are about to use a new namespace, you just type the first few characters and press Ctrl+Space. Eclipse auto fills it or gives a menu of namespace options. After you select one, it also adds the import statement at the top of the class. Suppose you need to use the File class in Visual Studio, you need to add a reference to the System.IO AND move all the way to the top of the page to add a corresponding
using statement. Doesn’t that look redundant? Sure, there is a way to add do this inline in Visual Studio but that feature came pretty late in the game. Even then it is still moronic. You need to use the mouse. You need to take a risk by guessing the class name and type it out first. You then need to wait for the those ugly squiggly lines to show up and then fiddle around that tiny arrow and lightning icons. It is totally counter-intuitive.
Why have project references AND using statements?
Have you ever created a basic MVC project in Visual Studio? God! It is like clicking on the “Sign Up for the Google+” link by mistake. Visual Studio does not just create an entire website but it also creates a whole new township for the support staff!