Learn. Imagine. Build.

.NET Conf

September 19 - 21, 2017

Conference Agenda

Join us on Channel 9 at 9AM PST September 20th for Day 2! Missed Day 1? Watch the sessions on demand!

Day #1

08:00 (PDT) | 15:00 (UTC)

Keynote - Scott Hunter   Mads Torgersen   Miguel de Icaza  

Join us as we kick off the conference and introduce you to all the new features in .NET Core 2.0, our cross-platform, open source .NET. .NET Core 2.0 implements .NET Standard 2.0 which delivers on the promise of .NET everywhere and significantly expands the API surface area so that sharing libraries across all .NET workloads is much easier. Learn about the new features in ASP.NET Core and Azure that make building, deploying and monitoring web, cloud and container apps easy. Also see the new tools in Visual Studio 2017 and Visual Studio for Mac that fully support .NET Core 2.0. Plus, a few surprises you don't want to miss!

09:30 (PDT) | 16:30 (UTC)

.NET Standard 2.0 - Jon Galloway  

One of the great things about .NET is that you use it to write code for multiple runtimes: .NET Core, .NET Framework, Xamarin, etc. However, historically introduced some complexity in writing, distributing and consuming libraries. .NET Standard solves this problem by allowing you to write code to a specification rather than specific platforms, and .NET Standard 2.0 takes it to the next level by adding over 20K new APIs to .NET Standard 1.1. In this session, we'll explain everything you need to know about .NET Standard and show how you can start using it today.

10:00 (PDT) | 17:00 (UTC)

What's New in ASP.NET Core 2.0 - Dan Roth  

Let's take a look at what's new in ASP.NET Core 2.0! ASP.NET Core 2.0 includes a number of improvements big and small that I'll walk you through in this demo-filled session. You'll see how ASP.NET Core makes it easier to get started, improves performance, and makes your apps more secure. I'll introduce you ASP.NET Core Razor Pages, a new paged-based model for building web UI. You'll also see how ASP.NET Core makes bugs and production issues easier to diagnose with better logging and diagnostics?

11:00 (PDT) | 18:00 (UTC)

What's new in Xamarin - James Montemagno  

Xamarin enables C# developers to become native iOS, Android, and Windows mobile app developers overnight. In this session, learn about the latest and greatest features in Xamarin for Visual Studio enabling developers to leverage their existing .NET and C# skills to create iOS and Android mobile apps. In addition to allowing you to write your iOS and Android apps in C#, Xamarin lets you reuse existing .NET libraries and share your business logic across iOS, Android, and Windows apps.?During this session we will cover the Xamarin platform, new developers tools, awesome SDKS that developers can take advantage of, and a lot more.

12:00 (PDT) | 19:00 (UTC)

Diagnostics 101 - Jon Skeet  

No-one writes software without getting stuck from time to time. Whether it's an API not working as expected, an algorithm not producing the right results, or a vexing exception, it's a rare day when coding is just plain sailing. So what do you do when you hit a problem? In this talk I'll walk through some strategies and techniques so that you can: (a) Narrow down where a problem occurs, (b) Reproduce the problem in a debug-friendly environment, (c) Write a log as you go, to avoid going down blind alleys multiple times, and (c) Capture your problem concisely but precisely, to ask colleagues for help, report a bug or post on Stack Overflow. While there are no true silver bullets in computing, the ability to work on solving problems in a methodical way is as close as I've found. Level up today!

13:00 (PDT) | 20:00 (UTC)

Beyond Mobile: Server, Games, and more with Visual Studio for Mac - Mikayla Hutchinson  

You know that Visual Studio for Mac does Xamarin, but do you know what else? We'll take a look at using Visual Studio for Mac for mobile, web, game, serverless and IoT development, and connecting them with .NET Standard 2.0. You'll also learn some tips and tricks for Visual Studio for Mac to make your day happier and more productive.

14:00 (PDT) | 21:00 (UTC)

Bringing your WinForms/WPF investments forwards with UWP/.NET Standard 2.0 - Chris Barker   Daniel Jacobson  

.NET Standard 2.0 with Visual Studio 2017 makes it even easier to bring your WinForms/WPF investments to the Universal Windows Platform - enabling you to reach new audiences and easily deliver a modern user experience, all whilst continuing to service your existing user base. This session will introduce you to the benefits of .NET Standard 2.0, and walk you through the process for extending the reach of your app efficiently.

15:00 (PDT) | 22:00 (UTC)

What's New in Visual Studio 2017 - Kasey Uhlenhuth  

Visual Studio is a productivity game changer for C#! The .NET Compiler Platform ("Roslyn") enables many new experiences that will change the way you write and debug code. In this session, we'll dig into features that bring a new level of awesome to the C# language and IDE experience. Come learn about new language features, refactoring support, major debugging enhancements, code-aware frameworks, and much more!

16:00 (PDT) | 23:00 (UTC)

Build Your Own Cortana Skill - Dorrene Brown  

Building a Cortana skill means that Cortana can use your bots, services, websites, and apps to help people - but did you know that you can write the whole skill with C# and .NET? During this session, we'll learn about Cortana and the Skills Kit, build a skill step-by-step, and discuss how you can work with Cortana to build personalized, intelligent experiences for your users. Skills built in this session will work across Windows 10, Android, iOS, and headless devices such as the Harman Kardon speaker. Following this talk, you'll understand how Cortana skills work, be able to build your own skill, and know where to go for help and support along the way.

Day #2

.NET in Practice
09:00 (PDT) | 16:00 (UTC)

Containerized ASP.NET Core apps with Kubernetes - Mete Atamel  

Kubernetes is an open-source container management platform that has been available to the Linux world for a while. With ASP.NET Core, it's now available to .NET developers too! In this talk, we'll take a look what Kubernetes is and how it can help you with deployment and running of containerised ASP.NET Core apps.

10:00 (PDT) | 17:00 (UTC)

Turning software into computer chips - Hastlayer - Zoltan Lehoczky  

Software is flexible, specialized hardware is extremely fast. So why not write software, then turn it into a computer chip? This is what Hastlayer does by transforming .NET software into electronic circuits. The result is faster and uses less power while you simply keep on writing software. You may not be able to tell just by looking at it but behind some function calls now actually embedded hardware is working! (You wonder how? Check out what FPGAs are!) In this demo-packed session we'll get an overview of what Hastlayer is, why it is useful for developers like you and how to write Hastlayer-compatible software.

11:00 (PDT) | 18:00 (UTC)

Running PHP on .NET Core with Peachpie - Jakub Misek  

Peachpie is a PHP compiler and runtime for .NET and .NET Core. It enables you to run entire PHP applications, such as WordPress, CodeIgniter, MediaWiki, etc, on .NET. As a result, Peachpie allows for a both-way interoperability between PHP and .NET, as well as significant performance and security enhancements for PHP apps. This presentation will demonstrate some of the features and benefits of the project.

12:00 (PDT) | 19:00 (UTC)

From Start-Up to a Million Monthly Users - Sports Analytics in .NET at Bleacher Report - Richard Dyer  

StatMilk was started as a bootstrapped sports analytics platform that provided users the ability to slice and dice football statistics any way they wanted. Launched in 2013 to little fanfare with a post on Hacker News, the two-man startup team was excited to get 20 concurrent users. Four years later, the StatMilk platform powers scores and stats for Bleacher Report, the second largest sports publisher on the internet, supporting over 50 million global users per month. This talk is about the growth of a small, self-funded fan-centric platform into an application that supports multiple sports and millions of requests. I'll discuss the challenges faced with this type of growth and show the evolution of our platform stack as it changed from a single ASP.NET MVC web app, to a load balanced framework with multiple web applications across distributed servers. Through this growth, we modified our architecture to use the latest standards in .NET technology including async/await, IoC, and ultimately migrating to .NET Standard/.NET Core. Highlights include best-practices when dealing with technical debt in a small team, technology challenges when dealing with an evolving audience and platform, and building fault-tolerant applications that scale from both predictable and unpredictable user surges.

13:00 (PDT) | 20:00 (UTC)

Deployment Techniques and Linux Containers with .NET Core 2.0 - Don Schenck  

Microsoft’s move to make .NET open source could not have come at a better time. As the world explores and moves to Microservices Architecture (MSA) and Linux containers, .NET stands poised to not only join the fray, but to excel with high-performance services. In this fast-paced session, you will see .NET code as microservices, running in Red Hat Enterprise Linux. Linux, .NET, docker, kubernetes and MSA will all be tied together in this peek into the future. We’ll take a look into (and demonstrate) two deployment methods: Blue/Green and Canary, and show how uninterrupted deployments are possible. Finally, a demonstration of the Circuit Breaker pattern will give you a technology you can use immediately, regardless of your development model.

14:00 (PDT) | 21:00 (UTC)

Build, Test, Distribute, and Monitor Xamarin apps with Visual Studio Mobile Center - Blanca Delgado Parra  

Visual Studio is mission control for your mobile apps. With just a few clicks and a few lines of code, you can build your apps in the cloud, test on real devices, distribute apps to beta testers, engage with your users via push notifications, and receive detailed user analytics and crash reporting. In this session, we'll show you how to take advantage of everything Mobile Center has to offer, for new and existing Xamarin apps. Join us to get your automated CI pipeline up and running!

15:00 (PDT) | 22:00 (UTC)

Xamarin Forms TV App Development for Tizen - Youngjoo Park  

This talk covers how developers can build Tizen TV applications using Visual Studio 2017 and how they can easily expand their existing Xamarin apps to support Tizen platform. It also includes an introduction of various Tizen developer's tools that will be available with VS 2017 in near future.

16:00 (PDT) | 23:00 (UTC)

Developing ASP.NET Core MVC Apps for International Users - Chris Woodruff  

Creating a website with ASP.NET Core Internationalization will allow your site to reach users that speak more than English. ASP.NET Core provides services and middleware for localizing into different languages and cultures. This talk will also demonstrate how to change currency and date formats based on your user's location.

17:00 (PDT) | 00:00 (UTC)

DevOps with ASP.NET Core, EF Core, & TFS2017 - Ben Day  

DevOps is all about software delivery. Create an automated, streamlined path from development to testing to deployment - that's basically DevOps. Great. So how do you do it with ASP.NET Core and Entity Framework Core? How do you deploy the SQL Server schema? How do you deal with EF Core schema migrations? What about unit testing? How do you handle database connection strings? What about deployments to Azure? Don't worry. We've got ya covered. In this talk, Ben will walk you through creating an automated DevOps flow using Team Foundation Server 2017 (TFS2017) or Visual Studio Team Services that will allow you to build, test, and deploy your ASP.NET Core & EF Core application.

Modernizing Your .NET Apps
09:00 (PDT) | 16:00 (UTC)

What's New in Entity Framework Core 2.0 - Diego Vega   Andrew Peters  

Entity Framework Core is a lightweight, extensible, and cross-platform version of the popular Entity Framework data access technology. In this session we'll look at what's new in EF Core 2.0 and what the team has planned for upcoming releases.

10:00 (PDT) | 17:00 (UTC)

Azure App Service: the best place to host your .NET Apps - Byron Tardif  

Experience how App Service makes your life easier as a .NET developer by providing the most powerful, flexible and scalable platform to host your apps in the cloud and focus on the code, not the infrastructure. See what others are already hosting in App Service and understand some of the best patterns and practices for hosting different kinds of apps like CMS, marketing sites, High Scale applications, LOB apps, etc.. Learn about some of the premium features offered by the platform geared towards enterprise customers and hybrid cloud scenarios.

11:00 (PDT) | 18:00 (UTC)

Go Serverless with Azure Functions and C# - Cecil Phillip  

You've heard the "serverless" buzzword, but do you know why it matters? In this session, you'll learn about Azure Functions, Microsoft's serverless compute offering. It enables you to build .NET applications more quickly than ever before. Plus, you can lower your costs because you pay per execution. The platform automatically scales up and down based on the number of incoming events. Serverless is useful for data transformation, cron processing, IoT, web and mobile backends, and more. In this session, we'll describe the concepts behind serverless computing and show how easy it is to author C# Azure Functions in Visual Studio. You can run, debug, and even trigger on events in Azure, right from Visual Studio. Once you've deployed your application, you can monitor it with Application Insights, giving you rich queries and a view of the health of your application. This demo-rich session will teach you how to create your own functions using our best-in-class tooling.

12:00 (PDT) | 19:00 (UTC)

Database DevOps for .NET Developers with SSDT and SQL server 2017 - Andrea Lam  

Learn how to use SQL Server 2017 in CI/CD pipelines using SQL Server Data Tools in Visual Studio 2017. By the end of this session you will know how to run SQL Server 2017 in Docker, make schema changes, run database unit tests, and use VSTS to continuously deploy your database changes to Azure.

13:00 (PDT) | 20:00 (UTC)

How to build a massively, scalable globally distributed app in minutes with Azure Cosmos DB - Aravind Krishna  

Earlier this year, we announced Azure Cosmos DB - the first and only globally distributed, multi-model database system. In this session, we will show you how you can take advantage of Azure Cosmos DB as your backend database, covering data replication across any number of regions, scaling for any number of reads/writes, and much more.

14:00 (PDT) | 21:00 (UTC)

.NET Core microservices on Service Fabric - Maxime Rouiller  

Service Fabric and .NET Core goes hand in hand for you to build microservices based applications to run reliably at scale. Join this session to learn about the integration points and how you can build a reliable scalable application, based on microservices, using the capabilities of Service Fabric and .NET Core.

15:00 (PDT) | 22:00 (UTC)

Windows Mixed Reality at 90 FPS - Jaime Rodriguez  

With Unity and C# you can write a Universal app that addresses augmented reality, Hololens, and immersive headsets. Join this session to get an intro to the Windows Mixed Reality platform. We will write an app from scratch, illustrating the buildingblocks - input, coordinate systems, spatial mapping, spatial soun - nd the most useful toos and patterns for building MR applications.

16:00 (PDT) | 23:00 (UTC)

Supercharge your Debugging in Visual Studio - Kaycee Anderson   Nikhil Joglekar  

Every software developer has to deal with bugs in the code, but we are rarely taught how to use debugging tools available to us. Watch this session to learn how to #SuperChargeYourDebugging to find and fix glitches faster. We tour most of the debugger, highlighting the best tips and tricks as we go. Whatever your experience level, we guarantee you'll learn something new!

17:00 (PDT) | 00:00 (UTC)

Microsoft Graph for the .NET Developer - Mike Ammerlaan  

Microsoft Graph provides a powerful and consistent API for data in Office 365, Azure Active Directory and beyond. With it, you can access key data across organizations. Whether you're looking to add some simple smarts to your app, like enhanced people pickers or file attachments from OneDrive, or looking to build enterprise scale applications, knowing how to work with Microsoft Graph is essential. In this session, we'll review the fundamentals of Microsoft Graph and get started in how you can use it in both client (Xamarin) and server (ASP.NET) applications. No matter where you're developing with .NET, you'll understand how to authenticate users and connect to wide array of information and insights.

Day #3

.NET Fundamentals
09:00 (PDT) | 16:00 (UTC)

Getting Started with .NET Part 1 - Scott Hanselman  

Join Kathleen and Scott as they explore .NET Core and .NET Core tooling in Visual Studio from a newbie's perspective. They'll look at the .NET command line, how .NET Core is cross platform, and explore what kinds of apps you can make. We'll examine the templates you get out of the box as well as the ones you can download. We'll look at basic unit testing, multiple project solutions, building, packaging, and publishing, and much more!

10:00 (PDT) | 17:00 (UTC)

Getting Started with .NET Part 2 - Kathleen Dollard  

Join Kathleen and Scott as they explore .NET Core and .NET Core tooling in Visual Studio from a newbie's perspective. They'll look at the .NET command line, how .NET Core is cross platform, and explore what kinds of apps you can make. We'll examine the templates you get out of the box as well as the ones you can download. We'll look at basic unit testing, multiple project solutions, building, packaging, and publishing, and much more!

11:00 (PDT) | 18:00 (UTC)

C# Part 1 - Introduction to C# - Bill Wagner  

There's never been a better time to learn C#. It's one of only two languages iranked in the top 10 for both "Most Popular Languages" and "Most Loved Languages" Stack Overflow's 2017 developer survey. It's modern. It's cross-platform. You can build anything you want using C#. In this session, you'll get an overview of the language. You'll learn the structure and common elements of C# programs. You'll learn about a wealth of resources to continue learning more.

12:00 (PDT) | 19:00 (UTC)

C# Part 2 - What's New in C# - Bill Wagner  

Even if you have been using C# for years, it's time to learn some new habits. C# 7 and C# 7.1 are in your hands if you've installed the latest tools. Everything you've always done continues to work, but you can do better. In this session, you'll learn how the latest features in these new versions of the language will make you more productive. You'll see demos of all the new features in scenarios that you can use immediately. By the end of the session, you may even have a few new favorite features.

13:00 (PDT) | 20:00 (UTC)

Solid Design Patterns for Mere Mortals - Phil Japikse  

Software design patterns have been around long before the MVC Framework gained momentum. In this session we will start with a review of Robert C. Martin's (Uncle Bob) SOLID macronym. After building the proper foundation, I will show you several design patterns, their C# implementation, and when and how they should be used in modern software development.

14:00 (PDT) | 21:00 (UTC)

The C# async await Workout - Bob Tabor  

Whether your're building desktop, web or cloud apps, the APIs employ copious async methods. But do you really understand how it works, the impact on your app and how to bend C#'s async features to your will? If not, Bob Tabor's hands-on coding session will help you gain confidence when writing asynchronous code.

15:00 (PDT) | 22:00 (UTC)

Introducing Razor Pages - Steve Smith  

ASP.NET MVC has traditionally required that developers break their application up into separate files, and often folders, corresponding with the file's responsibility. This meant that even simple apps needed to have relatively complex folder structures supporting controllers, views, models, and related files. ASP.NET Core MVC 2.0 introduces Razor Pages, which are fully compatible with ASP.NET Core MVC. Razor Pages allow developers to keep related concepts together within the same file, while still enforcing the logical separation of the MVC design pattern. Although Razor Pages are great for beginners, they should not be written off as a "training wheels" version of ASP.NET Core MVC, since their use can provide a more feature-oriented organization of files within your application.

16:00 (PDT) | 23:00 (UTC)

Get started with F# and .NET Core - Phillip Carter  

Learn how to write F# code on .NET Core using Visual Studio Code

17:00 (PDT) | 00:00 (UTC)

Full Stack F# with Fable - Alfonso Garcia-Caro  

Learn how to use F# to write the front-end and back-end of a website with Fable.

Learn Web and Mobile
09:00 (PDT) | 16:00 (UTC)

Get Started with ASP.NET Core 2.0 - Glenn Condron  

In this session we will start with a new ASP.NET Core 2.0 web application and go through fundamentals such as Configuration, DI, and Logging. We will start by going through the Program.cs and Startup.cs talking about all the features that are shown there. By the end of this session you should have a good grasp of how ASP.NET Core works.

10:00 (PDT) | 17:00 (UTC)

Building Web APIs with ASP.NET Core 2.0 - Dan Roth  

ASP.NET Core makes it easy to build Web APIs that meet a variety of needs including backends for browser and mobile applications. In this session we'll look at building Web APIs that can handle a variety of formats, provide rich metadata, and support client generation. We'll also look at how you can build SPA applications and Xamarin mobile applications with ASP.NET Core as a backend.

11:00 (PDT) | 18:00 (UTC)

Building your CI/CD pipeline for ASP.NET and Mobile using Visual Studio Team Services - Adrian Stevens   Jason DeBoever  

Testing your applications or deploying your beta app to testers during development used to be a time consuming process that interrupted core coding; not anymore. In this session, you'll learn the importance of DevOps in modern application development. We'll use two products which complement each other: Visual Studio Team Systems to manage our project and development lifecycle, and? Visual Studio Mobile Center (preview) to automatically build and deploy our application to our test users and collect crash logs and analytics as they test the app.

12:00 (PDT) | 19:00 (UTC)

ASP.NET Core 2.0 Security - Barry Dorrans  

.NET Core took the opportunity to overhaul how authentication, authorization and data protection works. This session aims to run you through the changes so you're prepared to securely host, identify and protect data and users.

13:00 (PDT) | 20:00 (UTC)

Intro to Xamarin Forms - Jason DeBoever   Adrian Stevens  

The first session will get users started with Xamarin, build a Xamarin.Forms UI, and show it in the Previewer. This will be the client app used throughout the sessions.

14:00 (PDT) | 21:00 (UTC)

Xamarin Forms 3.0 - Jason DeBoever   Adrian Stevens  

This session will show the latest features of Xamarin.Forms, which is exciting because we're supporting three new platforms. Here we'll pull down data from Azure to populate the UI.

15:00 (PDT) | 22:00 (UTC)

Responsive UI with Xamarin - Jason DeBoever   Adrian Stevens  

This is an intermediate/advanced session that solves the real-world developer problem of adaptive UI. It shows developers how to make their applications look great across multiple platforms and screen sizes.

16:00 (PDT) | 23:00 (UTC)

Introduction to IoT - Jason DeBoever   Adrian Stevens  

IoT devices are a great source of real-world data that we can push into our Xamarin client applications through Azure. Here we'll learn the basics of IoT development using C# and Xamarin to deploy IoT solutions to UWP IoT and Android Things.

17:00 (PDT) | 00:00 (UTC)

Xamarin with Azure IoT Hub - Jason DeBoever   Adrian Stevens  

We'll control GPIO on the IoT platforms to consume sensor data and then push the data to Azure. Finally, we'll visualize the data on our Xamarin.Forms client application.