Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Discover millions of ebooks, audiobooks, and so much more with a free trial

From $11.99/month after trial. Cancel anytime.

Mastering Visual Studio 2017
Mastering Visual Studio 2017
Mastering Visual Studio 2017
Ebook619 pages3 hours

Mastering Visual Studio 2017

Rating: 0 out of 5 stars

()

Read preview

About this ebook

A guide to mastering Visual Studio 2017

About This Book
  • Focus on coding with the new, improved, and powerful tools of VS 2017
  • Master improved debugging and unit testing support capabilities
  • Accelerate cloud development with the built-in Azure tools
Who This Book Is For

.NET Developers who would like to master the new features of VS 2017, and would like to delve into newer areas such as cloud computing, would benefit from this book. Basic knowledge of previous versions of Visual Studio is assumed.

What You Will Learn
  • Learn what's new in the Visual Studio 2017 IDE, C# 7.0, and how it will help developers to improve their productivity
  • Learn the workloads and components of the new installation wizard and how to use the online and offline installer
  • Build stunning Windows apps using Windows Presentation Foundation (WPF) and Universal Windows Platform (UWP) tools
  • Get familiar with .NET Core and learn how to build apps targeting this new framework
  • Explore everything about NuGet packages
  • Debug and test your applications using Visual Studio 2017
  • Accelerate cloud development with Microsoft Azure
  • Integrate Visual Studio with most popular source control repositories, such as TFS and GitHub
In Detail

Visual Studio 2017 is the all-new IDE released by Microsoft for developers, targeting Microsoft and other platforms to build stunning Windows and web apps. Learning how to effectively use this technology can enhance your productivity while simplifying your most common tasks, allowing you more time to focus on your project. With this book, you will learn not only what VS2017 offers, but also what it takes to put it to work for your projects.

Visual Studio 2017 is packed with improvements that increase productivity, and this book will get you started with the new features introduced in Visual Studio 2017 IDE and C# 7.0. Next, you will learn to use XAML tools to build classic WPF apps, and UWP tools to build apps targeting Windows 10. Later, you will learn about .NET Core and then explore NuGet, the package manager for the Microsoft development platform. Then, you will familiarize yourself with the debugging and live unit testing techniques that comes with the IDE. Finally, you'll adapt Microsoft's implementation of cloud computing with Azure, and the Visual Studio integration with Source Control repositories.

Style and approach

This comprehensive guide covers the advanced features of Visual Studio 2017, and communicates them through a practical approach to explore the underlying concepts of how, when, and why to use it.

LanguageEnglish
Release dateJul 27, 2017
ISBN9781787280656
Mastering Visual Studio 2017

Related to Mastering Visual Studio 2017

Related ebooks

Programming For You

View More

Related articles

Reviews for Mastering Visual Studio 2017

Rating: 0 out of 5 stars
0 ratings

0 ratings0 reviews

What did you think?

Tap to rate

Review must be at least 10 words

    Book preview

    Mastering Visual Studio 2017 - Kunal Chowdhury

    Mastering Visual Studio 2017

    Mastering Visual Studio 2017

    Boosted productivity, redefined fundamentals, streamlined Azure development, and more

    Kunal Chowdhury

    BIRMINGHAM - MUMBAI

    < html PUBLIC -//W3C//DTD HTML 4.0 Transitional//EN http://www.w3.org/TR/REC-html40/loose.dtd>

    Mastering Visual Studio 2017

    Copyright © 2017 Packt Publishing

    All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.

    Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the author, nor Packt Publishing, and its dealers and distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book.

    Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.

    First published: July 2017

    Production reference: 1250717

    Published by Packt Publishing Ltd.

    Livery Place

    35 Livery Street

    Birmingham

    B3 2PB, UK.

    ISBN 978-1-78728-190-5

    www.packtpub.com

    Credits

    About the Author

    Kunal Chowdhury has been a Microsoft MVP (Most Valuable Professional) since 2010, starting with Silverlight to Windows app development. He is also a renowned public speaker, active blogger (by passion), and a software engineer (senior/technical lead) by profession. Over the years, he has acquired profound knowledge on various Microsoft products and helped developers throughout the world with his deep knowledge and experience.

    As a technical buff, Kunal has in-depth knowledge of OOPs, C#, XAML, .NET, WPF, UWP, Visual Studio, Windows 10 and Microsoft Azure. He is also proficient in entire Software Development Life Cycle (SDLC) and Scrum methodology. He has written many articles, tips & tricks on his technical blog (kunal-chowdhury) for developers and consumers.

    You can contact Kunal via email at books@kunal-chowdhury.com. You can also follow

    him on Twitter at @kunal2383 and become a part of his major fans on social media channels for the updates that he shares over there.

    I would like to thank my wife, Manika Paul Chowdhury, and my parents for their continuous support throughout the period while writing this book. I would also like to thank the publisher and reviewers for their valuable feedback.

    Lastly, thanks to all my friends and colleagues who helped me to learn all that I have gathered over the years.

    About the Reviewer

    Dirk Strauss is a software developer and Microsoft MVP from South Africa, with over 13 years of programming experience. He has extensive experience in SYSPRO Customization, an ERP system, with C# and web development being his main focus.

    He works for Evolution Software, developing responsive web applications with incredibly inspirational and talented individuals.

    He has authored the books C# Programming Cookbook and C# 7 and .NET Core Cookbook - Second Edition, published by Packt. He has written for Syncfusion, contributing to the Succinctly series of ebooks, and he also blogs at www.dirkstrauss.com whenever he gets a chance.

    As always, to my wife and kids. Thank you for your love and support.

    www.PacktPub.com

    For support files and downloads related to your book, please visit www.PacktPub.com.

    Did you know that Packt offers eBook versions of every book published, with PDF and ePub files available? You can upgrade to the eBook version at www.PacktPub.com and as a print book customer, you are entitled to a discount on the eBook copy. Get in touch with us at service@packtpub.com for more details.

    At www.PacktPub.com, you can also read a collection of free technical articles, sign up for a range of free newsletters and receive exclusive discounts and offers on Packt books and eBooks.

    https://www.packtpub.com/mapt

    Get the most in-demand software skills with Mapt. Mapt gives you full access to all Packt books and video courses, as well as industry-leading tools to help you plan your personal development and advance your career.

    Why subscribe?

    Fully searchable across every book published by Packt

    Copy and paste, print, and bookmark content

    On demand and accessible via a web browser

    Customer Feedback

    Thanks for purchasing this Packt book. At Packt, quality is at the heart of our editorial process. To help us improve, please leave us an honest review on this book's Amazon page at https://www.amazon.com/dp/1787281906.

    If you'd like to join our team of regular reviewers, you can e-mail us at customerreviews@packtpub.com. We award our regular reviewers with free eBooks and videos in exchange for their valuable feedback. Help us be relentless in improving our products!

    Table of Contents

    Preface

    What this book covers

    What you need for this book

    Who this book is for

    Conventions

    Reader feedback

    Customer support

    Downloading the example code

    Downloading the color images of this book

    Errata

    Piracy

    Questions

    What is New in Visual Studio 2017 IDE?

    The new installation experience

    Overview of the new installation experience

    Installation using the online installer

    Creating an offline installer of Visual Studio 2017

    Installing Visual Studio 2017 from the command line

    Modifying your existing Visual Studio 2017 installation

    Uninstalling Visual Studio 2017 installation

    Signing in to Visual Studio 2017

    The new features and enhancements to the Visual Studio IDE

    Overview to the redesigned start page

    The improved code navigation tool

    Changes to Find All References of an instance

    Structural guide lines

    Editor config

    The Roaming Extension Manager feature

    Open folders in a convenient way

    Lightweight solution loading

    Connected Services

    Acquiring tools and features by using In-Product Acquisition

    The Run to Click feature

    Improved Attach to Process with process filtering

    The new exception helper

    Add conditions to Exception Settings

    Updates to Diagnostic Tools

    Summary

    What is New in C# 7.0?

    Local functions or nested functions

    Literal improvements in C# 7.0

    The new digit separators

    Getting to know about pattern matching

    The Is expression with pattern matching

    Switch statements with pattern matching

    The ref returns and locals

    New changes to tuples

    Changes to the throw expression

    Changes to the expression-bodied members

    New changes with the out variables

    Getting to know about deconstruction syntax

    Uses of the generalized async return types

    Summary

    Building Applications for Windows Using XAML Tools

    The WPF architecture

    Presentation Framework

    Presentation Core

    Common Language Runtime

    Media Integration Library

    OS Core

    Types of WPF applications

    The XAML overview

    Object element syntax

    Property attribute syntax

    Property element syntax

    Content syntax

    Collection syntax

    Event attribute syntax

    Understanding the XAML namespaces

    Working with inline code in XAML pages

    The code behind file of an XAML page

    Building your first WPF application

    Getting started with WPF project

    Understanding the WPF project structure

    Getting familiar with XAML Designer

    Adding controls in XAML

    Command-line parameters in WPF application

    Layouts in WPF

    Using Grid as a WPF panel

    Using StackPanel to define stacked layout

    Using Canvas as a panel

    Using WPF DockPanel to dock child elements

    Using the WrapPanel to automatically reposition

    Using UniformGrid to place elements in uniform cells

    WPF property system

    Data binding in WPF

    Using Converters while data binding

    Using triggers in WPF

    Property trigger

    Multi trigger

    Data trigger

    Multidata trigger

    Event trigger

    Summary

    Building Applications for Windows 10 Using UWP Tools

    Getting started with Universal Windows Platform

    Generic design principles of UWP apps

    Effective scaling

    Effective pixels

    Universal controls

    Universal styles

    Repositioning of controls

    Resizing the UI

    Reflowing of UI elements

    Replacing the UI Elements

    Revealing the UI elements

    Getting started with UWP app development

    Building your first UWP application

    Setting up the development environment for first use

    Setting up the developer mode

    Creating, building, and running the application

    Designing UWP applications

    Defining XAML page layouts

    The relative panels

    The VariableSizedWrapGrid class

    Data manipulation in a view

    The GridView control

    The ListView control

    The FlipView control

    Application designing with the XAML style

    Defining a style as a resource

    Inheriting a style from another style

    Building your own XAML control

    Creating the custom control

    Exposing properties from a custom control

    Generating visual assets using the new Manifest Designer

    Preparing UWP apps to publish to Windows Store

    Summary

    Building Applications with .NET Core

    Overview of .NET Core

    Installation of .NET Core with Visual Studio 2017

    A quick lap around the .NET Core commands

    Creating a .NET Core console app

    Creating a .NET Core class library

    Creating a solution file and adding projects in it

    Resolving dependencies in the .NET Core application

    Building a .NET Core project or solution

    Running a .NET Core application

    Publishing a .NET Core application

    Framework-Dependent Deployments

    Self-Contained Deployments

    Creating an ASP.NET Core application

    Creating a unit testing project

    Creating .NET Core applications using Visual Studio

    Publishing a .NET Core application using Visual Studio 2017

    Framework-Dependent Deployments

    Self-Contained Deployments

    Creating, building, and publishing a .NET Core web app to Microsoft Azure

    Summary

    Managing NuGet Packages

    Overview to NuGet package manager

    Creating a NuGet package library for .NET Framework

    Creating the metadata in NuGet spec file

    Building the NuGet Package

    Building NuGet Package for multiple .NET Frameworks

    Building NuGet package with dependencies

    Creating a NuGet package library for .NET Standard

    Editing the metadata of the project

    Building the NuGet Package from Visual Studio 2017

    Building a NuGet Package with package references

    Testing the NuGet package locally

    Publishing NuGet package to NuGet store

    Managing your NuGet packages

    Summary

    Debugging Applications with Visual Studio 2017

    Overview of Visual Studio debugger tools

    Debugging C# source code using breakpoints

    Organizing breakpoints in code

    Debugger execution steps

    Adding conditions to breakpoints

    Using conditional expressions

    Using breakpoint hit counters

    Using breakpoint filters

    Adding actions to breakpoints

    Adding labels to breakpoints

    Managing breakpoints using the Breakpoints window

    Exporting/importing breakpoints

    Using the Data Tips while debugging

    Pinning/unpinning Data Tips for better debugging

    Inspecting Data Tips in various watch windows

    The Autos window

    The Locals window

    The Watch window

    Using visualizers to display complex Data Tips

    Importing/exporting Data Tips

    Using debugger to display debugging information

    Using the Immediate Window while debugging your code

    Using the Visual Studio Diagnostics Tools

    Using the new Run to Click feature in Visual Studio 2017

    Debugging an already running process

    Debugging XAML application UI

    Overview of XAML debugging

    Inspecting XAML properties on Live Visual Tree

    Enabling UI debugging tools for XAML

    Summary

    Live Unit Testing with Visual Studio 2017

    Overview of Live Unit Testing in Visual Studio 2017

    Unit testing framework support

    Understanding the coverage information shown in editor

    Integration of Live Unit Testing in Test Explorer

    Configuring Visual Studio 2017 for Live Unit Testing

    Installing Live Unit Testing component

    General settings of Live Unit Testing in Visual Studio

    Starting/pausing the Live Unit Testing

    Including and excluding test methods/projects

    Unit testing with Visual Studio 2017

    Getting started with configuring the testing project

    Understanding the package config

    Live Unit Testing with an example

    Navigating to failed tests

    Summary

    Accelerate Cloud Development with Microsoft Azure

    Understanding the cloud computing basics

    Infrastructure as a Service

    Platform as a Service

    Software as a Service

    Creating your free Azure account

    Configuring Visual Studio 2017 for Azure development

    Creating an Azure website from portal

    Creating a web application

    Creating an App Service plan

    Managing Azure websites (Web Apps) from the portal

    Creating an Azure website from Visual Studio

    Creating an ASP.NET Web Application

    Publishing the web application to cloud

    Updating an existing Azure website from Visual Studio

    Building a Mobile App Service

    Creating Azure Mobile App

    Preparing Azure Mobile App for data connectivity

    Adding SQL data connection

    Creating a SQL Database

    Integrating Mobile App Service in a Windows application

    Creating the Model and Service Client

    Integrating the API call

    Scaling App Service plan

    Summary

    Working with Source Controls

    Working with Git repositories

    Installing Git for Visual Studio 2017

    Connecting to the source control servers

    Getting started with Git repositories

    Creating a new repository

    Cloning an existing repository

    Reviewing the Git configuration settings

    Working with Git branches

    Creating a new local branch

    Switching to a different branch

    Pushing a local branch to remote

    Deleting an existing branch

    Working with changes, staging, and commits

    Staging changes to local repository

    Committing changes to the local repository

    Discarding uncommitted changes

    Amending message to an existing commit

    Syncing changes between local and remote repositories

    Pushing changes to the remote repository

    Fetching changes available in the remote repository

    Merging changes available in the remote repository to the local repository

    Resolving merge conflicts

    Working with Pull Requests for code review

    Creating Pull Requests for code review

    Reviewing an existing Pull Request

    Merging a Pull Request

    Working with Git commit history

    Rebasing changes to rewrite the commit history

    Copying commits using Cherry-Pick

    Undoing your changes

    Resetting a local branch to a previous state

    Reverting changes from remote branch

    Tagging your commits

    Working with Team Projects

    Connecting to a Team Project

    Cloning an existing project folder

    Performing check-out operation to a file

    Committing your changes to the repository

    Undoing your local changes

    Creating code review request

    Rolling back your existing change set

    Summary

    Preface

    Day by day, a revolution is happening in the computer world; existing technologies are becoming old and obsolete, opening up more space for newer ones. To learn and work on the modern technologies, you will need an updated IDE. Microsoft does the same with developers, most popular IDE named Visual Studio.

    Microsoft released Visual Studio for developers in 1997. In 2002, it first received a flavor of .NET, and then it underwent a revolution with many new features in every major build. Along with Visual Studio 2015, Microsoft added support for .NET Core, which is a cross-platform, free, and open source managed software framework, such as .NET.

    Visual Studio 2017, initially known as Visual Studio 15, was released on 7th March, 2017. It included a new installation experience, with which you will be able to install a specific workload or a component that you need to accomplish your work. As well as this, it also includes features such as .NET Core, and support for NGen, Editor Config, Docker, and Xamarin. Not only the Microsoft platforms, but Visual Studio 2017 also supports Linux app development, C/C++, Cordova, Python, Node.js, tooling for data science, and analytical applications.

    As the industry is forwarding with latest technologies and IDE changes, it is not easy to cope with the latest changes. As a developer, it is very hard to learn everything that a new release brings.

    In this book, we will cover most of the changes to move you one step ahead with the advancements. Ranging from the installation changes to new features introduced in the IDE, followed by features introduced in it, C# 7.0 will give you the base to start with Visual Studio 2017. Then, we will move on to learning how to build apps for Windows using XAML tools, UWP tools, and .NET Core; we will learn about NuGet, more on debugging and unit testing applications, cloud development with Azure, and source controls like Git/TFS.

    The examples given in this book are simple, easy to understand, and provide you with a heads up to learn and master your skills with the new IDE, Visual Studio 2017. By the time you reach the end of this book, you will be proficient with deep knowledge about each of the chapters that it covers. You will enjoy reading this book with lots of graphical and textual steps to help you gain confidence in working with this IDE.

    Choosing the right version of Visual Studio 2017 can be done as follows:

    Visual Studio 2017 comes in three different editions and they are: Visual Studio Community 2017, Visual Studio Professional 2017, and Visual Studio Enterprise 2017.

    The Visual Studio Community edition is a free, fully-featured IDE for students, open source developers, and individual developers. In all these cases, you can create your own free or paid apps using the Visual Studio 2017 Community edition. Organizations will also be able to use the Community edition, but only under the following conditions:

    In an enterprise organization, an unlimited number of users can use the Community edition, if they are using it in a classroom learning environment, academic research, or in an open source project. An organization is defined as an enterprise organization if they have more than 250 computers or $1 million annual revenue.

    In a non-enterprise organization, the Community edition is restricted to up to five users.

    If you are a professional in a small team, you should go for Visual Studio Professional 2017. If you are a large organization building end-to-end solutions in a team of any size, and if the price does not matter to you, then Visual Studio Enterprise 2017 is the right choice as it includes all the features that it offers.

    A point to note is that you can install multiple editions of Visual Studio 2017 side by side. So, feel free to install any or all editions based on your need.

    What this book covers

    Chapter 1, What is New in Visual Studio 2017 IDE?, focuses on the new IDE-specific changes incorporated in Visual Studio 2017 and how these will help the developers to improve their productivity. Starting from installation, it will cover the various workloads and component parts of the installer, and then guide you through syncing your IDE settings, followed by the new features.

    Chapter 2, What is New in C# 7.0?, provides in-depth knowledge to help you learn about the latest changes part of C# 7.0. This chapter will guide you through a number of simple code snippets to help you learn quickly and become proficient in delivering your code.

    Chapter 3, Building Applications for Windows Using XAML Tools, focuses on XAML-based Windows Presentation Foundation (WPF) applications for Windows. This will help you learn the WPF architecture, XAML syntax, various layouts, data bindings, converters, and triggers, and guide you through building professional applications from scratch.

    Chapter 4, Building Applications for Windows 10 Using UWP Tools, provides a deeper insight to build XAML-based applications targeting Universal Windows Platform (UWP). This is the latest technology platform from Microsoft and the base for Windows 10 specific devices, such as mobile, PC, Xbox, IoT, and so on. This chapter will guide you through learning the generic design principles of UWP apps, followed by designing and styling applications. Later in the chapter, it will guide you to prepare apps to publish to the Windows Store.

    Chapter 5, Building Applications with .NET Core, gives you a quick lap around the new Framework and guides you to create, build, run, and publish .NET Core applications. This chapter will cover in-depth knowledge of Framework Dependent Deployments and Self-Contained Deployments. Later, it will guide you through publishing ASP.NET Core applications to Windows Azure.

    Chapter 6, Managing NuGet Packages, focuses on the NuGet package manager for the Microsoft development platform including, .NET. The NuGet client tools provide the ability to produce and consume packages. The NuGet gallery is the central package repository used by all package authors and consumers. Here, you will learn how to create a NuGet package, publish it to a gallery, and test it.

    Chapter 7, Debugging Applications with Visual Studio 2017, focuses on giving you an in-depth understanding on the different debugging tools present inside Visual Studio. It's the core part of every code development. The more comfortable you are with code debugging, the better the code that you can write/maintain. This chapter will help you learn the debugging process in Visual Studio 2017.

    Chapter 8, Live Unit Testing with Visual Studio 2017, provides a deeper insight into Live Unit Testing, which is a new module in Visual Studio 2017. It automatically runs the impacted unit tests in the background as you edit code, and then visualizes the results with code coverage, live in the editor. This chapter will help you become proficient in building Live Unit Testing with Visual Studio 2017.

    Chapter 9, Accelerate Cloud Development with Microsoft Azure, makes it easy for you to understand the cloud computing basics that includes Microsoft Azure, which is an open, flexible, enterprise-grade cloud computing platform. It basically delivers IaaS (Infrastructure as a Service), PaaS (Platform as a Service), and SaaS (Software as a Service). This chapter will guide you through creating Azure websites and mobile app services, and then integrating those with a Windows application.

    Chapter 10, Working with Source Controls, demonstrates the steps to manage your code with versioning support in a source control repository. Source control is a component of software configuration management, source repositories, and version management systems. If you are building enterprise-level applications in a distributed environment, you must use it to keep your code in a safe vault. This chapter will guide you through how easy it is to use Git and TFS to manage your code directly from Visual Studio.

    What you need for this book

    The basic software requirements for this book are as follows:

    Microsoft Visual Studio 2017 (version 15.0 or above)

    Microsoft .NET Framework 4.5 and above (part of Visual Studio)

    Microsoft .NET Core 1.0 (part of Visual Studio)

    Windows 10 operating system

    An account on Windows DevCenter

    An account on Windows Azure

    An account on GitHub and/or Microsoft Team Services

    Who this book is for

    .NET developers who would like to master the new features of VS 2017, and would like to delve into newer areas such as cloud computing, would benefit from this book. Basic knowledge of previous versions of Visual Studio is assumed.

    Conventions

    In this book, you will find a number of text styles that distinguish between different kinds of information. Here are some examples of these styles and an explanation of their meaning. Code words in text, database table names, folder names, filenames, file extensions, pathnames, dummy URLs, user input, and Twitter handles are shown as follows: The dotnet restore command restores the dependencies and tools of a project.

    A block of code is set as follows:

        public partial class MainWindow : Window

        {

          public MainWindow()

          {

            InitializeComponent();

          }

        }

    Any command-line input or output is written as follows:

    dotnet sln add

    dotnet sln add

    dotnet sln add **/**

    New terms and important words are shown in bold. Words that you see on the screen, for example, in menus or dialog boxes, appear in the text like this: In the New Project dialog, navigate to Installed | Templates | Visual C# | .NET Core.

    Warnings or important notes appear like this.

    Tips and tricks appear like this.

    Reader feedback

    Feedback

    Enjoying the preview?
    Page 1 of 1