O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Mastering Visual Studio 2017

Book Description

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.

Table of Contents

  1. Preface
    1. What this book covers
    2. What you need for this book
    3. Who this book is for
    4. Conventions
    5. Reader feedback
    6. Customer support
      1. Downloading the example code
      2. Downloading the color images of this book
      3. Errata
      4. Piracy
      5. Questions
  2. What is New in Visual Studio 2017 IDE?
    1. The new installation experience
      1. Overview of the new installation experience
      2. Installation using the online installer
      3. Creating an offline installer of Visual Studio 2017
      4. Installing Visual Studio 2017 from the command line
      5. Modifying your existing Visual Studio 2017 installation
      6. Uninstalling Visual Studio 2017 installation
      7. Signing in to Visual Studio 2017
    2. The new features and enhancements to the Visual Studio IDE
      1. Overview to the redesigned start page
      2. The improved code navigation tool
      3. Changes to Find All References of an instance
      4. Structural guide lines
      5. Editor config
      6. The Roaming Extension Manager feature
      7. Open folders in a convenient way
      8. Lightweight solution loading
      9. Connected Services
      10. Acquiring tools and features by using In-Product Acquisition
      11. The Run to Click feature
      12. Improved Attach to Process with process filtering
      13. The new exception helper
      14. Add conditions to Exception Settings
      15. Updates to Diagnostic Tools
    3. Summary
  3. What is New in C# 7.0?
    1. Local functions or nested functions
    2. Literal improvements in C# 7.0
    3. The new digit separators
    4. Getting to know about pattern matching
      1. The Is expression with pattern matching
      2. Switch statements with pattern matching
    5. The ref returns and locals
    6. New changes to tuples
    7. Changes to the throw expression
    8. Changes to the expression-bodied members
    9. New changes with the out variables
    10. Getting to know about deconstruction syntax
    11. Uses of the generalized async return types
    12. Summary
  4. Building Applications for Windows Using XAML Tools
    1. The WPF architecture
      1. Presentation Framework
      2. Presentation Core
      3. Common Language Runtime
      4. Media Integration Library
      5. OS Core
      6. Types of WPF applications
    2. The XAML overview
      1. Object element syntax
      2. Property attribute syntax
      3. Property element syntax
      4. Content syntax
      5. Collection syntax
      6. Event attribute syntax
      7. Understanding the XAML namespaces
      8. Working with inline code in XAML pages
      9. The code behind file of an XAML page
    3. Building your first WPF application
      1. Getting started with WPF project
      2. Understanding the WPF project structure
      3. Getting familiar with XAML Designer
      4. Adding controls in XAML
      5. Command-line parameters in WPF application
    4. Layouts in WPF
      1. Using Grid as a WPF panel
      2. Using StackPanel to define stacked layout
      3. Using Canvas as a panel
      4. Using WPF DockPanel to dock child elements
      5. Using the WrapPanel to automatically reposition
      6. Using UniformGrid to place elements in uniform cells
    5. WPF property system
    6. Data binding in WPF
    7. Using Converters while data binding
    8. Using triggers in WPF
      1. Property trigger
      2. Multi trigger
      3. Data trigger
      4. Multidata trigger
      5. Event trigger
    9. Summary
  5. Building Applications for Windows 10 Using UWP Tools
    1. Getting started with Universal Windows Platform
      1. Generic design principles of UWP apps
        1. Effective scaling
        2. Effective pixels
        3. Universal controls
        4. Universal styles
        5. Repositioning of controls
        6. Resizing the UI
        7. Reflowing of UI elements
        8. Replacing the UI Elements
        9. Revealing the UI elements
      2. Getting started with UWP app development
    2. Building your first UWP application
      1. Setting up the development environment for first use
      2. Setting up the developer mode
      3. Creating, building, and running the application
    3. Designing UWP applications
      1. Defining XAML page layouts
        1. The relative panels
        2. The VariableSizedWrapGrid class
      2. Data manipulation in a view
        1. The GridView control
        2. The ListView control
        3. The FlipView control
    4. Application designing with the XAML style
      1. Defining a style as a resource
      2. Inheriting a style from another style
    5. Building your own XAML control
      1. Creating the custom control
      2. Exposing properties from a custom control
    6. Generating visual assets using the new Manifest Designer
    7. Preparing UWP apps to publish to Windows Store
    8. Summary
  6. Building Applications with .NET Core
    1. Overview of .NET Core
    2. Installation of .NET Core with Visual Studio 2017
    3. A quick lap around the .NET Core commands
      1. Creating a .NET Core console app
      2. Creating a .NET Core class library
      3. Creating a solution file and adding projects in it
      4. Resolving dependencies in the .NET Core application
      5. Building a .NET Core project or solution
      6. Running a .NET Core application
      7. Publishing a .NET Core application
        1. Framework-Dependent Deployments
        2. Self-Contained Deployments
      8. Creating an ASP.NET Core application
      9. Creating a unit testing project
    4. Creating .NET Core applications using Visual Studio
    5. Publishing a .NET Core application using Visual Studio 2017
      1. Framework-Dependent Deployments
      2. Self-Contained Deployments
    6. Creating, building, and publishing a .NET Core web app to Microsoft Azure
    7. Summary
  7. Managing NuGet Packages
    1. Overview to NuGet package manager
    2. Creating a NuGet package library for .NET Framework
      1. Creating the metadata in NuGet spec file
      2. Building the NuGet Package
      3. Building NuGet Package for multiple .NET Frameworks
      4. Building NuGet package with dependencies
    3. Creating a NuGet package library for .NET Standard
      1. Editing the metadata of the project
      2. Building the NuGet Package from Visual Studio 2017
      3. Building a NuGet Package with package references
    4. Testing the NuGet package locally
    5. Publishing NuGet package to NuGet store
    6. Managing your NuGet packages
    7. Summary
  8. Debugging Applications with Visual Studio 2017
    1. Overview of Visual Studio debugger tools
    2. Debugging C# source code using breakpoints
      1. Organizing breakpoints in code
      2. Debugger execution steps
      3. Adding conditions to breakpoints
        1. Using conditional expressions
        2. Using breakpoint hit counters
        3. Using breakpoint filters
      4. Adding actions to breakpoints
      5. Adding labels to breakpoints
      6. Managing breakpoints using the Breakpoints window
      7. Exporting/importing breakpoints
    3. Using the Data Tips while debugging
      1. Pinning/unpinning Data Tips for better debugging
      2. Inspecting Data Tips in various watch windows
        1. The Autos window
        2. The Locals window
        3. The Watch window
      3. Using visualizers to display complex Data Tips
      4. Importing/exporting Data Tips
      5. Using debugger to display debugging information
    4. Using the Immediate Window while debugging your code
    5. Using the Visual Studio Diagnostics Tools
    6. Using the new Run to Click feature in Visual Studio 2017
    7. Debugging an already running process
    8. Debugging XAML application UI
      1. Overview of XAML debugging
      2. Inspecting XAML properties on Live Visual Tree
      3. Enabling UI debugging tools for XAML
    9. Summary
  9. Live Unit Testing with Visual Studio 2017
    1. Overview of Live Unit Testing in Visual Studio 2017
      1. Unit testing framework support
      2. Understanding the coverage information shown in editor
      3. Integration of Live Unit Testing in Test Explorer
    2. Configuring Visual Studio 2017 for Live Unit Testing
      1. Installing Live Unit Testing component
      2. General settings of Live Unit Testing in Visual Studio
      3. Starting/pausing the Live Unit Testing
      4. Including and excluding test methods/projects
    3. Unit testing with Visual Studio 2017
      1. Getting started with configuring the testing project
      2. Understanding the package config
      3. Live Unit Testing with an example
    4. Navigating to failed tests
    5. Summary
  10. Accelerate Cloud Development with Microsoft Azure
    1. Understanding the cloud computing basics
      1. Infrastructure as a Service
      2. Platform as a Service
      3. Software as a Service
    2. Creating your free Azure account
    3. Configuring Visual Studio 2017 for Azure development
    4. Creating an Azure website from portal
      1. Creating a web application
      2. Creating an App Service plan
    5. Managing Azure websites (Web Apps) from the portal
    6. Creating an Azure website from Visual Studio
      1. Creating an ASP.NET Web Application
      2. Publishing the web application to cloud
    7. Updating an existing Azure website from Visual Studio
    8. Building a Mobile App Service
      1. Creating Azure Mobile App
      2. Preparing Azure Mobile App for data connectivity
      3. Adding SQL data connection
      4. Creating a SQL Database
    9. Integrating Mobile App Service in a Windows application
      1. Creating the Model and Service Client
      2. Integrating the API call
    10. Scaling App Service plan
    11. Summary
  11. Working with Source Controls
    1. Working with Git repositories
      1. Installing Git for Visual Studio 2017
      2. Connecting to the source control servers
      3. Getting started with Git repositories
        1. Creating a new repository
        2. Cloning an existing repository
        3. Reviewing the Git configuration settings
      4. Working with Git branches
        1. Creating a new local branch
        2. Switching to a different branch
        3. Pushing a local branch to remote
        4. Deleting an existing branch
      5. Working with changes, staging, and commits
        1. Staging changes to local repository
        2. Committing changes to the local repository
        3. Discarding uncommitted changes
        4. Amending message to an existing commit
      6. Syncing changes between local and remote repositories
        1. Pushing changes to the remote repository
        2. Fetching changes available in the remote repository
        3. Merging changes available in the remote repository to the local repository
        4. Resolving merge conflicts
      7. Working with Pull Requests for code review
        1. Creating Pull Requests for code review
        2. Reviewing an existing Pull Request
        3. Merging a Pull Request
      8. Working with Git commit history
        1. Rebasing changes to rewrite the commit history
        2. Copying commits using Cherry-Pick
      9. Undoing your changes
        1. Resetting a local branch to a previous state
        2. Reverting changes from remote branch
      10. Tagging your commits
    2. Working with Team Projects
      1. Connecting to a Team Project
      2. Cloning an existing project folder
      3. Performing check-out operation to a file
      4. Committing your changes to the repository
      5. Undoing your local changes
      6. Creating code review request
      7. Rolling back your existing change set
    3. Summary