Learn about projects and solutions using Visual Basic
Applies to: Visual Studio Visual Studio for Mac
Note
This article applies to Visual Studio 2017. If you're looking for the latest Visual Studio documentation, see Visual Studio documentation. We recommend upgrading to the latest version of Visual Studio. Download it here
In this introductory article, we'll explore what it means to create a solution and a project in Visual Studio. A solution is a container that's used to organize one or more related code projects, for example a class library project and a corresponding test project. We'll look at the properties of a project and some of the files it can contain. We'll also create a reference from one project to another.
Tip
If you haven't already installed Visual Studio, go to the Visual Studio downloads page to install it for free.
We'll construct a solution and project from scratch as an educational exercise to understand the concept of a project. In your general use of Visual Studio, you'll likely use some of the various project templates that Visual Studio offers when you create a new project.
Note
Solutions and projects aren't required to develop apps in Visual Studio. You can also just open a folder that contains code and start coding, building, and debugging. For example, if you clone a GitHub repo, it might not contain Visual Studio projects and solutions. For more information, see Develop code in Visual Studio without projects or solutions.
Solutions and projects
Despite its name, a solution is not an "answer". A solution is simply a container used by Visual Studio to organize one or more related projects. When you open a solution in Visual Studio, it automatically loads all the projects that the solution contains.
Create a solution
We'll start our exploration by creating an empty solution. After you get to know Visual Studio, you probably won't find yourself creating empty solutions often. When you create a new project, Visual Studio automatically creates a solution to house the project if there's not a solution already open.
Open Visual Studio.
On the menu bar, choose File > New > Project.
The New Project dialog box opens.
In the left pane, expand Other Project Types, then choose Visual Studio Solutions. In the center pane, choose the Blank Solution template. Name your solution QuickSolution, and then choose OK.
The Start Page closes, and a solution appears in Solution Explorer on the right-hand side of the Visual Studio window. You'll probably use Solution Explorer often, to browse the contents of your projects.
Add a project
Now let's add our first project to the solution. We'll start with an empty project and add the items we need to the project.
From the right-click or context menu of Solution 'QuickSolution' in Solution Explorer, choose Add > New Project.
The Add New Project dialog box opens.
In the left pane, expand Visual Basic and choose Windows Desktop. Then, in the middle pane, choose the Empty Project (.NET Framework) template. Name the project QuickDate, then choose the OK button.
A project named QuickDate appears beneath the solution in Solution Explorer. Currently it contains a single file called App.config.
Note
If you don't see Visual Basic in the left pane of the dialog box, you need to install the .NET desktop development Visual Studio workload. Visual Studio uses workload-based installation to only install the components you need for the type of development you do. An easy way to install a new workload is to choose the Open Visual Studio Installer link in the bottom left corner of the Add New Project dialog box. After Visual Studio Installer launches, choose the .NET desktop development workload and then the Modify button.
Add an item to the project
We have an empty project. Let's add a code file.
From the right-click or context menu of the QuickDate project in Solution Explorer, choose Add > New Item.
The Add New Item dialog box opens.
Expand Common Items, then choose Code. In the middle pane, choose the Class item template. Name the class Calendar, and then choose the Add button.
A file named Calendar.vb is added to the project. The .vb on the end is the file extension that's given to Visual Basic code files. The file appears in the visual project hierarchy in Solution Explorer, and its contents open in the editor.
Replace the contents of the Calendar.vb file with the following code:
Class Calendar Public Shared Function GetCurrentDate() As Date Return DateTime.Now.Date End Function End Class
The
Calendar
class contains a single function,GetCurrentDate
, that returns the current date.Open the project properties by double-clicking My Project in Solution Explorer. On the Application tab, change Application type to Class Library. This step is necessary to build the project successfully.
Build the project by right-clicking on QuickDate in Solution Explorer and choosing Build. You should see a successful build message in the Output window.
Add a second project
It's common for solutions to contain more than one project, and often these projects reference each other. Some projects in a solution might be class libraries, some executable applications, and some might be unit test projects or websites.
Let's add a unit test project to our solution. This time we'll start from a project template so we don't have to add an additional code file to the project.
- From the right-click or context menu of Solution 'QuickSolution' in Solution Explorer, choose Add > New Project.
In the left pane, expand Visual Basic and choose the Test category. In the middle pane, choose the Unit Test Project (.NET Framework) project template. Name the project QuickTest, and then choose OK.
A second project is added to Solution Explorer, and a file named UnitTest1.vb opens in the editor.
Add a project reference
We're going to use the new unit test project to test our method in the QuickDate project, so we need to add a reference to that project. The reference creates a build dependency between the two projects, meaning that when you build the solution, QuickDate is built before QuickTest.
Add test code
Project properties
(Optional) Run the test
Next steps
If you want to further explore Visual Studio, consider creating an app by following one of the Visual Basic tutorials.