In this lesson, we'll talk about working with Solutions and Projects, as well as the relationship between the two concepts. You will learn how to find your Projects and Solutions on your hard drive so that you can continue working with them at a later date. This lesson will also explain how to unzip the source code provided for this course, intended to be used as a comparison between the work you’ve done with the example code in the lessons.
When you re-open Visual Studio, you will notice that the last project you were working on is available via a quick-link, under the heading titled “Recent”:
As you create more projects, this list will grow and push older projects off of the list. You can pin important projects to keep them from being removed from the list by clicking the pin icon that appears when you hover your cursor over the project name.
You can also access your recent projects by accessing the Visual Studio menu:
File > Recent Projects and Solutions
If your Project is no longer visible in your list of recent Projects, you can locate it by manually searching through your Visual Studio projects folder:
File > Open > Project/Solution
You can see from these screenshots that the default location for a Project on your drive is under the C: drive located in the Projects folder of Visual Studio. To find this folder, navigate to:C: > Users > (Your Username) > Documents > Visual Studio 2015 > Projects
To better describe the relationship between Solutions and Projects, go ahead and open the “MyFirstWebApp” Project that you worked on in the previous lesson. As alluded to previously, a Solution (1) is the upper-most part of a hierarchy tree of references, which can include one or more projects (2):
It may not appear immediately obvious why anyone would want more than one project per solution. However, when dealing with application architecture it’s sometimes beneficial to separate out code based on individual responsibility. In this scenario, you could create different code modules (Projects), each handling a specific responsibility within the context of the broader Solution in general. More on this later.
Tip Here is how to think of the entire Solution hierarchy. Solutions contain Projects, while Projects contain files, settings, and assets, that will create a .NET Assembly once Compiled.
Returning, once again, to the file structure relating to your Solution/Project on your hard drive, you will notice within the Projects folder, there are folders for one or more Solutions (such as MyFirstWebApp). And inside of a Solution folder are a Solution file, which as a .sln file extension, and one or more Project files. Each solution file can contain multiple projects, all of which are compiled together at runtime. Inside of the Solution file is information and settings related to which projects belong to this solution.
There's also a hidden file that can be viewed if your Windows Explorer is set to Show All Hidden Files. This is a solution user options file (.suo), and it is used by Visual Studio to put the Solution Explorer back into the state in which the user last left it. For now, you can ignore this file.
By default, your Solution will be named the same as your first Project, which can be confusing at first. Inside of your Solution folder, you'll have a Project folder that will be named the same thing, but it is separate. Inside of the Project file, you will see several files and folders that correspond to those found in the Solution Explorer within Visual Studio. For example, the Default.aspx and Default.aspx.cs files.
Also inside the Project folder are folders you cannot see inside the Solution Explorer, such as the 'bin' folder. If you open that up, you will see a .dll file that represents a .NET Assembly that is created whenever you run your app in your web browser.
The final item to note within the Project folder is the MyFirstWebApp.csproj file, which is a C# Project file. Just as the Solution file keeps track of which projects need to be compiled at runtime, the Project file keeps track of all the settings and files that need to be compiled to run the Project successfully.
Finally, you'll need to learn how to extract and run the provided code contained in .zip files. For example, the code for this lesson is called 'CS-005_Code.zip'. Moving forward, the code contained in these files will be used to compare the code that Bob writes with what you create.
To unzip the file, right-click on it and select 'Extract All'. This will open a dialogue that allows you to choose a location for the extracted files. Click the Browse button and navigate to:
This PC > Documents > Visual Studio 2015 > Projects
With the Projects folder selected, click Extract. This will put the sample code folder into Visual Studio's Projects folder, and allow you to open the .sln file just as you did with the MyFirstWebApp.sln. Note: Sometimes the file name of the provided code may conflict with your own Project file. In this case, rename the provided code and then extract as described above.
With this knowledge of how to navigate through your Solutions and Projects, as well as how to extract code files in order to use them with Visual Studio, you can now move on with this course and begin to create your own Projects.
Lesson 5 - Working with Projects in Visual Studio