ASP.NET Core with the New MSBuild Based Tooling
The new .NET Core Tools release affords benefits both in the new, lean MSBuild project system and in expanded dotnet CLI functionality. This course, you'll explore the new .NET Core Tools release allowing you to develop your own web applications.
What you'll learn
At the core of developing ASP.NET core applications is the project system. It brings together all the pieces to compile and execute your applications. In this course, ASP.NET Core with the New MSBuild Based Tooling, you'll learn how to use the new .NET Core Tools release to develop web applications. First, you'll explore the myriad of new benefits, including a modernized, lean MSBuild project file that combines the best of project.json and MSBuild. Next, you'll discover the new templating engine for dotnet new. Additionally, you'll dive into several command line tools to modify solution and project files, making it even easier to develop ASP.NET Core apps on any platform, with any IDE. Finally, you'll cover how the benefits of this new project system are being ported to other .NET project types. By the end of this course, you'll have a foundational knowledge of the new tooling and know how to get the most out of it.
Table of contents
- Course Overview 1m
- The Project System Is One of the Biggest Changes 7m
- Why Switch Back to MSBuild? 2m
- Installing the SDK 3m
- dotnet New to See the New MSBuild Project File 2m
- New Project File Does Not Need Explicit File References 3m
- New PackageReference in MSBuild Project Files 1m
- Editing Projects Without VS and Background Package Restore 2m
- PackageReference Intellisense in Visual Studio 1m
- MSBuild Multi-targeting with a Single Project File 3m
- MSBuild PackageReference Is Transitive 3m
- MSBuild Pro - Composability 3m
- Digging Into the SDK 5m
- XML vs. JSON 2m
- A Cleaner Project File? 2m
- Enhancements to All Project Types - PackageReference Anywhere 2m
- Creating a Web API with dotnet New Webapi 3m
- Creating an MVC Web App with dotnet New MVC 1m
- Finding and Using Template Parameters 4m
- Be Careful Where You Create Your Project 1m
- It Is Easier to Get the Name Right When Creating a Project 2m
- Key Takeaways 1m
- Organization 5m
- Creating a Project in Nested Folders with dotnet New 1m
- Creating a .NET Standard Library with dotnet New Classlib 4m
- Creating a Test Project with dotnet New xUnit 3m
- Back to Just One VS Test Adapter per Test Framework 3m
- Creating an Empty Solution File with dotnet New sln 2m
- Adding Projects to a Solution with dotnet sln Add 5m
- Listing Projects in a Solution and Removing Projects 1m
- Clean ProjectReferences 1m
- Adding Project to ProjectReferences with dotnet Add Reference 3m
- Listing Project to ProjectReferences with dotnet List 1m
- Adding NuGet Packages with dotnet Add Package 2m
- dotnet Add Package Warns You if a Package Is Incompatible 1m
- Removing NuGet Packages with dotnet Remove 1m
- Currently Visual Studio Changes Some Files Created with the CLI 2m
- Key Takeaways and Creating Projects with Visual Studio 2m
- Solutions Are Not Just for Organization 3m
- An Overview of the dotnet CLI Dev Commands 3m
- dotnet Restore Creates Files in the obj Temp Directory 3m
- Files Generated by dotnet Build 2m
- dotnet Clean Removes Build Output 2m
- dotnet Run -p 2m
- Run a Compiled Application with Just dotnet 2m
- dotnet Publish 5m
- Exploring the Publish Targets in the SDK 2m
- dotnet Test 2m
- Running Tests in Visual Studio 2m
- Most of the CLI Is a Wrapper Around MSBuild 3m
- Calling Out to MSBuild Directly 2m
- AssemblyInfo Is Generated Based on Project Properties 5m
- Finding the AssemblyInfo MSBuild Targets in the SDK 3m
- Setting Project Properties in Visual Studio and Property Docs 2m
- Changing What Files Are Included 2m
- Introduction 0m
- It Would Be Nice to Restart Our Web App When We Make Changes 2m
- Installing a per-project Tool 2m
- Using dotnet Watch to Restart a Web App When Changed 1m
- Configuring What to Watch in the Project File 3m
- Adding a Tool from the CLI 1m
- Adding Packages with Visual Studio 1m
- Finding Tools 4m
- A Few Last Things About Tools 4m
- From Zero to Package in 30 Seconds 2m
- The New .NET API Browser 4m
- Using the Client Library in Our Web App 3m
- Specifying a Version Suffix with the CLI or csproj 4m
- A Nuspec File is Generated Behind the Scene 2m
- Changing Pack Options with Visual Studio 3m
- Reference Docs for Package Properties 4m
- Multi-targeting Just Works with Packages 3m
- Conditional Dependencies per TargetFramework 2m
- PrivateAssets for Excluding Design Time Dependencies 2m
- Adding a readme.txt - None Items 4m
- Adding Files to the Package with Pack 2m
- Setting the PackagePath 1m
- Switching a File from None to Content 4m
- A Clean Project File Incentivizes Extensibility 4m
- A Plethora of Tasks 1m
- Bundling and Minification in Web Apps 5m
- dotnet Bundle 3m
- dotnet Bundle Clean 0m
- Why Not Bundle When Building and Clean Bundles When Cleaning 1m
- Exec'ing dotnet Bundle When Building and Cleaning 2m
- Conditional Targets - Only Bundle Release Builds 2m
- Importing Bundling Targets from NuGet Packages 6m
- MSBuild is Highly Composable 3m
- Learning from Dumping the Flattened Pre-processed Project File 2m
- Extracting Common Properties to Directory.Build.props 3m
- Sharing Common Properties with Directory.Build.props 2m
- Looking into How Directory.Build.props Works 2m
- MSBuild Structured Log Tool and Other Helpful Tools 3m