Visual Studio Tutorial Learning Path – Complete Guide
Last updated on 10th Jul 2020, Blog, Tutorials
Visual Studio is an Advanced Integrated Development Enterprise exclusively developed by Microsoft Corporation in the year 2000. It is actively used to develop Computer programs, Websites, Desktop Applications, Mobile Applications, Games and much more.
Here are 3 editions of Microsoft Visual Studio as follows:
It is the commercial edition of Visual Studio. It comes in Visual Studio 2010 and later versions. It provides the support for XML and XSLT editing and includes tools like Server Explorer and integration with Microsoft SQL Server. Microsoft provides a free trial of this edition and after the trial period, the user has to pay to continue using it. Its main purpose is to provide Flexibility(Professional developer tools for building any application type), Productivity(Powerful features such as CodeLens improve your team’s productivity), Collaboration(Agile project planning tools, charts, etc.) and Subscriber benefits like Microsoft software, plus Azure, Pluralsight, etc.
It is an integrated, end to end solution for teams of any size with the demanding quality and scale needs. Microsoft provides a 90-days free trial of this edition and after the trial period, the user has to pay to continue using it. The main benefit of this edition is that it is highly scalable and delivers high-quality software.
Visual Studio includes a host of visual designers to aid in the development of applications. These tools include:
Windows Forms Designer
The Windows Forms designer is used to build GUI applications using Windows Forms. Layout can be controlled by housing the controls inside other containers or locking them to the side of the form. Controls that display data (like textbox, list box and grid view) can be bound to data sources like databases or queries. Data-bound controls can be created by dragging items from the Data Sources window onto a design surface. The UI is linked with code using an event-driven programming model. The designer generates either C# or VB.NET code for the application.
The WPF designer, codenamed Cider, was introduced with Visual Studio 2008. Like the Windows Forms designer it supports the drag and drop metaphor. It is used to author user interfaces targeting Windows Presentation Foundation. It supports all WPF functionality including data binding and automatic layout management. It generates XAML code for the UI. The generated XAML file is compatible with Microsoft Expression Design, the designer-oriented product. The XAML code is linked with code using a code-behind model.
The Class Designer is used to author and edit the classes (including its members and their access) using UML modeling. The Class Designer can generate C# and VB.NET code outlines for the classes and methods. It can also generate class diagrams from hand-written classes.
The data designer can be used to graphically edit database schemas, including typed tables, primary and foreign keys and constraints. It can also be used to design queries from the graphical view.
From Visual Studio 2008 onwards, the mapping designer is used by LINQ to SQL to design the mapping between database schemas and the classes that encapsulate the data. The new solution from ORM approach, ADO.NET Entity Framework, replaces and improves the old technology.
Open Tabs Browser
The open tabs browser is used to list all open tabs and to switch between them. It is invoked using CTRL+TAB.
The Properties Editor tool is used to edit properties in a GUI pane inside Visual Studio. It lists all available properties (both read-only and those which can be set) for all objects including classes, forms, web pages and other items.
The Object Browser is a namespace and class library browser for Microsoft .NET. It can be used to browse the namespaces (which are arranged hierarchically) in managed assemblies. The hierarchy may or may not reflect the organization in the file system.
In Visual Studio parlance, a solution is a set of code files and other resources that are used to build an application. The files in a solution are arranged hierarchically, which might or might not reflect the organization in the file system. The Solution Explorer is used to manage and browse the files in a solution.
Team Explorer is used to integrate the capabilities of Azure DevOps (either Azure DevOps Services or Azure DevOps Server) into the IDE . In addition to version control integration it provides the ability to view and manage individual work items (including user stories, bugs, tasks and other documents). It is included as part of a Visual Studio installation and is also available as a standalone download.
Data Explorer is used to manage databases on Microsoft SQL Server instances. It allows creation and alteration of database tables (either by issuing T-SQL commands or by using the Data designer). It can also be used to create queries and stored procedures, with the latter in either T-SQL or in managed code via SQL CLR. Debugging and IntelliSense support is available as well.
The Server Explorer tool is used to manage database connections on an accessible computer. It is also used to browse running Windows Services, performance counters, Windows Event Log and message queues and use them as a datasource.
Dotfuscator Community Edition
Visual Studio includes a free ‘light’ version of Dotfuscator.
Text Generation Framework
Visual Studio includes a full text generation framework called T4 which enables Visual Studio to generate text files from templates either in the IDE or via code.
ASP.NET Web Site Administration Tool
The ASP.NET Web Site Administration Tool allows for the configuration of ASP.NET websites.
Visual Studio Tools for Office
Visual Studio Tools for Office is a SDK and an add-in for Visual Studio that includes tools for developing for the Microsoft Office suite. Previously (for Visual Studio .NET 2003 and Visual Studio 2005) it was a separate SKU that supported only Visual C# and Visual Basic languages or was included in the Team Suite. With Visual Studio 2008, it is no longer a separate SKU but is included with Professional and higher editions. A separate runtime is required when deploying VSTO solutions.
Features of Visual Studio
Visual Studio provides the most advanced features that the latest developers are looking for. Few of the most important features are described as follows.
The Visual Studio has the best in class Code editor which supports multiple functionalities. It enables bookmarks in code to incorporate Quick Navigation. In addition to the normal text, VS also provides Incremental Search, Regex Search, Multi-item Clipboard, and Task-list.
The Editor is also capable to support Code refactoring, Parameter Reordering, Variable and Method Renaming, Interface Extraction and many more user-friendly functionalities.
The remarkable Debugger of the MS Visual Studio can work both as a Machine Level Debugger as well as a Source Level Debugger. It is capable of debugging Mapped Code as well as Native Code. It is capable of compiling any programming language that supports VS.
It is capable of attaching itself to the currently running process to conduct monitoring and debugging procedures on the code, provided if the source code is available. VS can incorporate Memory Dumps and Multi-threading as well.
Visual Studio includes a number of visual designers to help within the development of applications. Some of the tools are listed below.
When you build your program, certain files are created. It may seem excessive, but they are actually just simple files and instructions for your program and the Visual Studio IDE. Navigate to C:\users\<yourname>\ Documents\Visual Studio\Syntax (or the saved file location). Find the file called Syntax.sln and a folder called Syntax. If you open the Syntax.sln (sln is a Visual Studio Solution file) with notepad, you will see it has some global settings; we advise you not edit anything!
In the Syntax folder there will be 3 folders: obj, My Project and bin. There will also be two files: Module1.vb and Syntax.vbproj. The Module1.vb is our source code for our program. Next, open up Syntax.vbproj, which is a Visual Basic Project File. This is actually an XML file which stores information about other file locations; do NOT edit it.
Now open up the bin folder; inside is another folder called debug which is where your program will output. If you double click Syntax.exe the program will run. Go back and open up the My Project folder, and focus on the file called AssemblyInfo.vb. This stores information about the program such as author, copyright, trademark, etc.
Visual Basic Variables
Variables allow us to store and retrieve data. Variables are storage locations and the data is held in the computer’s memory (RAM). In Visual Basic, variables start with the Dim keyword.
- Floating Point
Numbers with decimals e.g. 5.2
True Or False
- Double Floating
Point numbers but more accurate
Single characters.Variables can start with uppercase or lowercase characters.
An array is a series of elements of the same type placed in contiguous memory locations that can be individually referenced by adding an index to a unique identifier.
That means that, for example, five values of type int can be declared as an array without having to declare 5 different variables (each with its own identifier). Instead, using an array, the five int values are stored in contiguous memory locations, and all five can be accessed using the same identifier, with the proper index.
By default, regular arrays of local scope (for example, those declared within a function) are left uninitialized. This means that none of its elements are set to any particular value; their contents are undetermined at the point the array is declared.
The string class has been briefly introduced in an earlier chapter. It is a very powerful class to handle and manipulate strings of characters. However, because strings are, in fact, sequences of characters, we can represent them also as plain arrays of elements of a character type.
Strings and null-terminated character sequences
Plain arrays with null-terminated sequences of characters are the typical types used in the C language to represent strings (that is why they are also known as C-strings). In C++, even though the standard library defines a specific type for strings (class string), still, plain arrays with null-terminated sequences of characters (C-strings) are a natural way of representing strings in the language; in fact, string literals still always produce null-terminated character sequences, and not string objects.
In earlier chapters, variables have been explained as locations in the computer’s memory which can be accessed by their identifier (their name). This way, the program does not need to care about the physical address of the data in memory; it simply uses the identifier whenever it needs to refer to the variable.
For a C++ program, the memory of a computer is like a succession of memory cells, each one byte in size, and each with a unique address. These single-byte memory cells are ordered in a way that allows data representations larger than one byte to occupy memory cells that have consecutive addresses.
This way, each cell can be easily located in the memory by means of its unique address. For example, the memory cell with the address 1776 always follows immediately after the cell with address 1775 and precedes the one with 1777, and is exactly one thousand cells after 776 and exactly one thousand cells before 2776.
When a variable is declared, the memory needed to store its value is assigned a specific location in memory (its memory address). Generally, C++ programs do not actively decide the exact memory addresses where its variables are stored. Fortunately, that task is left to the environment where the program is run – generally, an operating system that decides the particular memory locations on runtime. However, it may be useful for a program to be able to obtain the address of a variable during runtime in order to access data cells that are at a certain position relative to it.
In the programs seen in previous chapters, all memory needs were determined before program execution by defining the variables needed. But there may be cases where the memory needs of a program can only be determined during runtime. For example, when the memory needed depends on user input. In these cases, programs need to dynamically allocate memory, for which the C++ language integrates the operators new and delete.
A data structure is a group of data elements grouped together under one name. These data elements, known as members, can have different types and different lengths.
Learn Advanced Visual Studio Training & Certification CourseWeekday / Weekend BatchesSee Batch Details
Other data types
Type aliases (typedef / using)
A type alias is a different name by which a type can be identified. In C++, any valid type can be aliased so that it can be referred to with a different identifier.
Unions allow one portion of memory to be accessed as different data types. Its declaration and use is similar to the one of structures, but its functionality is totally different:
When unions are members of a class (or structure), they can be declared with no name. In this case, they become anonymous unions, and its members are directly accessible from objects by their member names. For example, see the differences between these two structure declarations:
Enumerated types (enum)
Enumerated types are types that are defined with a set of custom identifiers, known as enumerators, as possible values. Objects of these enumerated types can take any of these enumerators as value
Visual Basic Managing Errors
There are always problems with every program that is released (known as “bugs”), and they can occur at any time. We can solve these problems easily by using a try catch block to “catch” the exception. There are different types of exceptions which can occur, such as an overflowException or a formatException. Create a new VB Console Application and name it ManagingErrors.
Visual Basic Methods (Continued, Optional Parameters and Overloading)
Optional parameters in methods are available, and to specify a parameter as optional you use the optional keyword, followed by parameter name, equal sign and value.
Overloading methods can be extremely useful; for example you might want to perform multiple functions on the same method but just change the parameters. To specify that a method is overloaded you create multiple methods with the same name but different parameters:
Visual Basic Dates And Times
Dates and times are also another data type in Visual Basic. Sometimes you may need to print out the date in your application or web application, like for example when a post was last edited. There are many ways you can manipulate dates and times in Visual Basic, and we will discuss the most common ones. Create a new VB console application and name it Dates And Times.
Visual Studio Application Lifecycle Management
Visual Studio Application Lifecycle Management (ALM) is a collection of integrated software development tools developed by Microsoft. These tools currently consist of the IDE (Visual Studio 2015 Community and greater editions), server (Team Foundation Server), and cloud services (Visual Studio Team Services). Visual Studio ALM supports team-based development and collaboration, Agile project management, DevOps, source control, packaging, continuous development, automated testing, release management, continuous delivery, and reporting tools for apps and services.
In Visual Studio 2005 and Visual Studio 2008, the brand was known as Microsoft Visual Studio Team System (VSTS). In October 2009, the Team System brand was renamed Visual Studio ALM with the Visual Studio 2010 (codenamed ‘Rosario’) release. Visual Studio Team Services debuted as Visual Studio Online in 2013 and was renamed in 2015.
Visual Studio Lab Management
Visual Studio Lab Management is a software development tool developed by Microsoft for software testers to create and manage virtual environments. Lab Management extends the existing Visual Studio Application Lifecycle Management platform to enable an integrated Hyper-V based test lab. Since Visual Studio 2012, it is already shipped as a part of it; and, can be set up after Azure DevOps and SCVMM are integrated.
Visual Studio LightSwitch
Microsoft Visual Studio LightSwitch is an extension and framework specifically tailored for creating line-of-business applications built on existing .NET technologies and Microsoft platforms. The applications produced are architecturally 3-tier: the user interface runs on either Microsoft Silverlight or HTML 5 client, or as a SharePoint 2013 app; the logic and data-access tier is built on WCF Data Services and exposed as an OData feed hosted in ASP.NET; and the primary data storage supports Microsoft SQL Server Express, Microsoft SQL Server and Microsoft SQL Azure. LightSwitch also supports other data sources including Microsoft SharePoint, OData and WCF RIA Services.
LightSwitch includes graphical designers for designing entities and entity relationships, entity queries, and UI screens. Business logic may be written in either Visual Basic or Visual C#. LightSwitch is included with Visual Studio 2012 Professional and higher. Visual Studio 2015 is the last release of Visual Studio that includes the LightSwitch tooling.
The user interface layer is now an optional component when deploying a LightSwitch solution, allowing a service-only deployment.
The first version of Visual Studio LightSwitch, released 26 July 2011, had many differences from the current release of LightSwitch. Notably the tool was purchased and installed as a stand-alone product. If Visual Studio 2010 Professional or higher was already installed on the machine, LightSwitch would integrate into that. The second major difference was the middle tier was built and exposed using WCF RIA Services.
How to Download and Install Visual Studio
Let’s look at the download process of Visual Studio IDE so that we can work with creating programs in the subsequent tutorials.
Step 1) Visual Studio can be downloaded from the following link https://www.visualstudio.com/downloads/
You can select
- Visual Studio 2017 Community Edition
- Visual Studio 2017 Professional Edition (30 Day Free Trial)
In this tutorial, we will install the Professional Edition
Step 2) Click on the downloaded exe file
Step 3) In the next screen, click continue
Step 4) Visual Studio will start downloading the initial files. Download speed will vary as per your internet connection.
Step 5) In next screen, click install
Step 6) In next screen,
- Select “.Net desktop development”
- Click install
Step 7) Visual Studio will download the relevant files based on the selection in step 6
Step 8) Once the download is done, you will be asked to reboot the PC
Step 9) Post reboot, open the Visual Studio IDE
- Select a theme of your choice
- Click Start Visual Studio
Step 10) In Visual Studio IDE, you can navigate to File menu to create new C# applications.
That’s it to Visual Studio for C# installation.
Visual Basic provides a huge number of graphics tools that you can use to solve all sorts of problems. By using Graphics objects, pens, and brushes, you can draw and fill all sorts of shapes. You can use stock pens and brushes or create your own with hatch patterns, gradient fills, textures, custom dash patterns and end caps, and longitudinal stripes.
The Graphics class’s DrawString method lets you draw text formatted and wrapped to fit a particular area, optionally with ellipses. The Bitmap class provides methods for getting and setting the values of every pixel in an image.
Transformations add a whole new level of power to any graphics code. By using transformations, you can stretch, rotate, and translate images to reuse code. visual Basic has a very simple programming syntax. Most of the code is easily understandable, even if you are not familiar with programming. The language is not case-sensitive, inline comments start with an apostrophe, and XML comments start with 3 apostrophes