Agenda
.NET Day
08:00 - 09:00 PST
Keynote - Welcome to .NET 9
James Montemagno, Damian Edwards, Maddy Montaquila, Maria Naggaga, Steve Sanderson, Safia Abdalla, Daniel Roth, David Ortinau, Filisha Shah
.NET 9 is here elevating cloud-native and intelligent app development, focusing on productivity enhancements, streamlined deployments, and accelerated AI integration, ensuring superior performance for developers across various applications.
09:00 - 09:45 PST
What's new in .NET Aspire
Maddy Montaquila, Damian Edwards
.NET Aspire 9.0 is packed with new features to streamline your app development. New dashboard updates, custom commands, more powerful container start/stop/lifecycle management, new Integrations, and preview support for Azure Functions are packed into this release. Join .NET Product Managers Damian Edwards and Maddy Montaquila to find out why you should be using .NET Aspire in all your apps, and how .NET 9 will make them even better!
09:45 - 10:30 PST
AI Building Blocks - A new, unified AI layer
Steve Sanderson
Most .NET apps can be made more powerful and productive through AI features, such as semantic search, auto-classification, summarization, translation, data extraction, and even chat-based assistants. But until now there's been no single standard representation for AI concepts within .NET itself, so developers needed to combine many unrelated APIs. Microsoft.Extensions.AI addresses this by providing a new set of standard APIs for AI services, including large language models (LLMs) running locally on your workstation or as hosted services, integrating with text embeddings, vector stores, and more. In this talk we'll demonstrate how these new standard abstractions let you combine multiple services that can easily be swapped and changed over time, and how you can plug into the internals for more advanced scenarios. By the end you'll be ready to start experimenting with new AI features in your own apps.
10:30 - 11:15 PST
What's new in C# 13
Mads Torgersen, Dustin Campbell
Join Mads and Dustin from the C# design team as they take you through new features in C# 13 and beyond.
11:15 - 12:00 PST
What's New for ASP.NET Core & Blazor in .NET 9
Daniel Roth
In this session we'll go over all the improvements coming to ASP.NET Core & Blazor in .NET 9, including various performance improvements, optimized static web asset handling, improved Blazor reconnection logic, built-in OpenAPI support, improved distributed caching, and much more!
12:00 - 12:45 PST
What's New in .NET MAUI in .NET 9
David Ortinau, Rachel Kang (SHE/HER)
More and more companies are building mobile and desktop apps with .NET MAUI, and .NET 9 is now here to continue improving those business-critical app experiences. In this session we’ll introduce you to what’s new in .NET 9, how companies are being successful shipping production quality applications with .NET MAUI, and how you can get the most out of Visual Studio and Visual Studio Code.
12:45 - 13:30 PST
What's new in the .NET Runtime, Libraries, & SDK
Richard Lander, Immo Landwerth
Find out about some of the exciting features .NET 9 is bringing to the runtime, libraries, and SDK! The runtime includes dynamic adaptation to application sizes for garbage collection, new attribute models for feature switches, and numerous performance enhancements. The libraries see updates like nullable reference type annotations in System.Text.Json, new LINQ methods (CountBy and AggregateBy), and a new Base64Url class for URL-safe encoding. The SDK introduces workload sets, improved unit testing integration, and enhanced NuGet security audits. Come join us to learn about .NET features you can start using today in your .NET 9 applications!
13:30 - 14:15 PST
Performance Improvements in .NET 9
Stephen Toub
.NET 9 is the fastest .NET to date, with a huge number of performance improvements throughout the stack. In this session, we'll take a tour through some of these optimizations and see how .NET 9 will make your applications and services fly.
14:15 - 14:45 PST
Building AI Applications from Scratch: A Hands-On Guide for .NET Developers
Luis Quintanilla, Jeremy Likness
In this session, we'll guide you through the process of developing AI applications using .NET, Aspire, and Azure. Through live demonstrations, we’ll start by constructing a prototype AI application, showcasing how the same codebase and concepts can be adapted across different platforms. We’ll then explore how to scale this prototype into a robust enterprise AI solution using .NET Aspire, and demonstrate how .NET Aspire can be used to monitor your AI applications effectively. Lastly, we’ll walk you through the deployment process, highlighting how you can achieve comprehensive observability and production capabilities in the cloud. Join us for this hands-on session and learn how to transform your ideas into intelligent solutions.
14:45 - 15:15 PST
API-ly Ever After: OpenAPI in .NET 9
Safia Abdalla, Mike Kistler
In .NET 9, ASP.NET Core ships with built-in support for generating OpenAPI documents from minimal and controller-based APIs. In this session, we'll cover the key features of this new support, explore integration scenarios for OpenAPI, and discuss how your team can make the most of OpenAPI.
15:15 - 15:45 PST
Build hybrid apps with .NET MAUI
Beth Massi, Eilon Lipton
In this session learn why you would choose a hybrid web approach to building native apps with .NET MAUI in .NET 9. Learn about Blazor hybrid and how you can build full-featured native apps for Windows, Mac, iOS and Android within a single codebase that can take advantage of your web skills. Take a tour of the new Blazor hybrid tools and templates in .NET 9 and see how you can reuse UI to build solutions that target the web at the same time. We'll also take a look at the new HybridWebView control and show how you can leverage other web frameworks in .NET MAUI.
15:45 - 16:15 PST
What's new in Visual Studio 2022 for .NET developers
Simona Liao, Junyu Wang
Discover the exciting new features in Visual Studio 17.12GA that support .NET developers from start to finish! This session will showcase enhanced editor capabilities that streamline your coding process and AI-powered GitHub Copilot to boost developer productivity with more accurate responses. We'll also explore upgraded debugging tools that simplify troubleshooting and demonstrate the improved Git version control experience that seamlessly prepares your code for production. Join us to see how these new features can transform your workflow.
16:15 - 16:45 PST
Discover the Latest GitHub Copilot Features for .NET Developers in Visual Studio
Rhea Patel
Since its launch in 2021, GitHub Copilot has transformed the way developers write code by leveraging AI to enhance coding efficiency. Powered by advanced models from GitHub, OpenAI, and Microsoft, Copilot has continued to evolve. With the latest updates in Visual Studio, .NET developers have even more powerful tools at their disposal.
16:45 - 17:45 PST
CodeParty Attendee Party
Jeffrey T. Fritz
Join Jeff Fritz, Dee Dee Walsh, Sara Faatz and more special guests for our attendee party for some fun and prizes to be given away from our sponsors.
Microsoft Day
09:00 - 10:00 PST
Building and scaling cloud-native, intelligent applications on Azure and .NET
Scott Hunter, Paul Yuknewicz
Learn how to run cloud-native serverless and container applications in Azure using Azure Kubernetes Service and Azure Container Apps. We help you choose the right service for your apps. We show you how Azure is the best platform for hosting cloud native and intelligent apps, and an app using Azure OpenAI Service and Azure Data. Learn all the new capabilities of our container platforms including how to deploy, test for scale, monitor, and much more.
10:00 - 10:30 PST
Building and deploying an Azure Functions app with .NET Aspire in 25 minutes
Safia Abdalla, Matthew Henderson
Azure Functions is an event-driven serverless platform that makes it easy to build scalable and low-maintenance services in the cloud. .NET Aspire is .NET's modern framework for developing modern applications with a great developer loop. What happens you bring the two together? Pure magic! In this session, we'll go from zero to hero and build a .NET Aspire-enabled Azure Functions application together then deploy it to the cloud. Along the way, we'll learn about the new features in .NET Aspire and Azure Functions that make the development and deployment experience a total breeze.
10:30 - 11:00 PST
Aspirations for .NET Aspire
David Fowler
.NET Aspire is a powerful collection of tools and packages that help you develop cloud apps without all the confusion and overhead that comes with it. .NET Aspire shipped in May, and just had it's first major release since! Join David Fowler for a deep dive into the vision for Aspire and a look at the roadmap for the next few releases.
11:00 - 11:30 PST
Introducing HybridCache in ASP.NET Core
Marc Gravell
HybridCache in ASP.NET Core unifies in-process and out-of-process caching with a simple API. It combines the speed of in-memory caching with the durability of distributed caching, offering features like stampede protection and configurable serialization. Learn how to enhance application performance with this two-level caching strategy.
11:30 - 12:00 PST
Centrally managing your .NET APIs with Azure API Center
Julia Kasper, Martyn Coupland
In today’s rapidly evolving digital landscape, managing and governing APIs effectively is crucial for organizational success. Join us for an insightful session tailored specifically for .NET developers, where we will explore the latest features and best practices for leveraging Azure API Center to its fullest potential. Discover how Azure API Center enables you to centralize your API inventory, ensuring seamless discovery, tracking, and governance across your organization. Learn how to develop and maintain a structured and organized inventory of your APIs, regardless of their type, lifecycle stage, or deployment location.
12:00 - 12:30 PST
What's new in C# Dev Kit for VS Code
Wendy Breiding (She/Her), Leslie Richardson
Love VS Code? Working on Mac, Windows, or Linux? We'll show you how to get the most out of C# Dev Kit to be the most productive doing C# development in VS Code.
12:30 - 13:00 PST
C#'s Best features you might not be using
Bill Wagner
Take a look at some great C# features that can make your code more resilient and easier to understand. This talk will help you improve the code your team writes right away because all of these features are available in C# 12, with many available in lower versions. You'll leave knowing not only what makes better code but why.
13:00 - 13:30 PST
openai-dotnet: the official OpenAI library for .NET
Scott Addie
Join us for an in-depth exploration of openai-dotnet, the .NET client library for OpenAI. In this session, we'll walk you through the key features and capabilities of the library, demonstrate how to integrate it into your .NET applications, and showcase real-world examples. Whether you're a seasoned developer or new to AI, you'll leave with the knowledge and tools to harness the power of OpenAI in your .NET projects. Don't miss this opportunity to get ahead of the curve and start building intelligent applications today!
13:30 - 14:00 PST
Building the Foundation: AI Fundamentals in .NET
Luis Quintanilla, Tanner Gooding, Tarek Sayed
In this presentation, we will explore the core principles and foundational elements of Artificial Intelligence (AI) within the .NET ecosystem. This session will delve into the essential AI building blocks, including Tensors and Tokenizers, and demonstrate how these components are integrated and optimized within .NET. We will also highlight how these AI fundamentals build on top of existing investments in the .NET ecosystem, such as Span and Generic Math, to enhance performance and efficiency. Attendees will gain insights into the investments being made at the lower levels of the stack to ensure robust and efficient AI applications. Join us to discover how .NET is empowering developers to build intelligent solutions from the ground up, laying a strong foundation for future innovations.
14:00 - 14:30 PST
Navigating the world of AI Models in .NET
Jordan Matthiesen
As the field of artificial intelligence continues to grow and evolve, the number of available AI models is rapidly expanding. With models like Phi, Mistral, and many others, concepts like small local models and foundational models, it can be overwhelming to navigate this complex landscape. This talk will explore how frameworks like Semantic Kernel and tools like Ollama make it easy to work with these models inside your .NET applications. Learn how to harness the power of the latest AI models to build intelligent, cutting-edge applications with ease. Join us on quick dive into the world of .NET and AI models!
14:30 - 15:00 PST
.NET MAUI Performance Optimizations with NativeAOT and Trimming
Jonathan Peppers
Jon will walk through the latest features in .NET 9 to make your iOS and Android apps smaller and faster. Can you use System.Reflection? It depends! Jon will walk through the details in making your code NativeAOT and fully-trim compatible, showing the improvements to app size and startup time. This session will also be useful for NuGet package authors that want to ship libraries that can be fully optimized for mobile or self-contained deployments.
15:00 - 15:30 PST
What's new in WinUI and Windows App SDK 1.6
Michael Hawker, Michael Jolley
Companies are building apps used by millions of users on Windows Desktop with WinUI and Windows App SDK. Are you missing out? Come here and find out! This session will cover the latest features released in WinUI and the Windows App SDK, its integration with .NET and Native AOT, how you can get started using these technologies in your Win32 applications, and a look ahead!
15:30 - 16:00 PST
Easily Improve Web Application Performance using .NET 9 Caching and Redis
Catherine Wang, Matt Soucoup
Does your web application experience performance bottlenecks caused by repeated data queries? Does it feel annoying having to write so much boilerplate code to use Redis for caching? We are introducing the .NET 9 Hybrid Cache interface that simplifies caching with Redis down to a single line of code! Furthermore, you can simply extend your existing application to become intelligent with Redis being a vector datastore and semantic cache, while preserving all the performance benefits. Samples and demos will be provided to showcase the Redis capabilities and best practices.
16:00 - 16:30 PST
Modern WinForms Development with .NET 9
Merrie McGaw, Klaus Loeffelman
Join us as we look at the new features coming your way in WinForms for .NET 9. Check out some awesome ideas for incorporating Copilot into your applications as well as modern UI updates.
16:30 - 17:00 PST
Build your own .NET Aspire integrations
Aaron Powell, David Pine
One of the core parts of .NET Aspire is the ability to add integrations into your app host or project code to streamline your resource setup and development. The .NET Aspire team has built a bunch of integrations, but if there's something else you need, you can build it yourself! Join some folks from the .NET Aspire team to learn how integrations work, how to build one, and how you could even contribute to the new .NET Aspire Community Toolkit.
Community Day
17:00 - 17:30 PST
Build Your First GitHub Copilot Extension
Brian Randell
Unlock the potential of GitHub Copilot by learning how to build an extension for yourself or your organization. Whether you're new to GitHub Copilot or an experienced developer looking to customize your coding assistant, this session is designed to guide you through the process of quickly creating an extension for yourself or your organization. In just 30 minutes, Brian will share the key concepts behind GitHub Copilot extensibility, explore real-world use cases, and help you walk away with the knowledge to build, test, and deploy your first extension using C# and ASP.NET Core. You’ll see how to use Visual Studio 2022 to build & debug your extension from nothing to something. Perfect for developers of all levels, this session will include: • An introduction to GitHub Copilot extensibility • A live demo of building a simple extension • Tips and best practices for customizing GitHub Copilot to enhance productivity Don’t miss this opportunity to get a head start in making GitHub Copilot work for you!
17:30 - 18:00 PST
Using Blazor to manage data in SQL server and Microsoft Fabric
Michael Washington
Many business applications need to allow their users to view and update data in SQL server and data warehouses such as Microsoft Fabric. Learn how to create custom applications using Microsoft Blazor and free open-source controls such as Blazor Data Sheet to rapidly implement solutions to your users. Learn how to implement row level security to control access to the data in a granular way. Finally learn how to use PowerBI embedded to provide advanced data analytics.
18:00 - 18:30 PST
Figma to XAML
Héctor Uriel Pérez Rojas
In this session, I will share my journey in developing a tool called Xamlify, which allows me to convert Figma designs into XAML code in .NET MAUI in just a few seconds, enabling me to reduce the time spent on creating graphical interfaces by 80% to 90%. I achieved this using Blazor, a lot of C# code, and Azure OpenAI.
18:30 - 19:00 PST
Master Visual Studio Debugging: Tips, Tricks, and AI Insights!
Harshada Hole
Join us for an engaging session that combines essential Visual Studio debugging techniques with the power of Co-Pilot's AI assistance. Learn how to debug more efficiently, from breakpoints to watch windows, and discover how Co-Pilot can optimize your workflow with intelligent, context-aware suggestions tailored to your coding style. Elevate your debugging skills and fully leverage the capabilities of Visual Studio in this concise and insightful session.
19:00 - 19:30 PST
Testing.Platform, the new way to run .NET tests
Jakub Jares
Testing platform is a new way to run .NET tests that we developed at Microsoft as an alternative to VSTest. This new platform is lightweight, modular, and distributed completely as nuget packages. It builds test projects into executables, is easy to extend and can run almost anywhere. In this talk I will show you what Testing platform is, how to use it to run tests using popular testing frameworks MSTest, NUnit and XUnit. I will also show what are the benefits of this new testing platform over VSTest, and how to use them to your advantage. Such as portability, self-contained tests, running tests with Native AOT and so on. You will learn about our design process, the pillars of our new testing platform and the improvements it allowed us to do in MSTest.
19:30 - 20:00 PST
Running .NET Aspire on a local Kubernetes cluster
Jorge Arteiro
On this video, we are going to leverage all the power of .NET aspire and Kubernetes. Using Aspirate CLI, Kubernetes local cluster with Kind and Docker Desktop. We are going to deep dive into Kubernetes manifests and Helm charts. How about Debugging? we are going to use Mirrord open-source project to show you how debug your applications running on Kubernetes.
20:00 - 20:30 PST
Spotify knows how you're feeling today ... via Semantic Kernel
Justin Yoo
You know your current mood, and you want to create a playlist on Spotify based on your current mood. But how does it catch how you're feeling now? Throughout this session, I'm going to discuss how Semantic Kernel seamlessly integrates OpenAI with existing codebase, and as a result, it will create a playlist based on the Billboard Top 100 chart, reflecting your current sentiment.
20:30 - 21:00 PST
Embedding Python libraries in .NET services and applications
Anthony Shaw, Aaron Powell
In this session we will bridge the gap between two powerful realms of development: .NET and Python. Discover the seamless integration of Python into .NET APIs and Services through an innovative new project that promises to revolutionize your workflow. We'll showcase a live demonstration of embedding essential AI and ML libraries such as scikit-learn and NumPy into a .NET Aspire application, revealing the untapped potential of end-to-end tracing for Enterprise development. This session is not just about observing; it's about engaging. We're eager to gather feedback, delve into diverse use cases, and share success stories from the community. Whether you're a seasoned developer or just starting, this is the perfect opportunity to expand your toolkit.
21:00 - 21:30 PST
Use .NET Aspire to create Generative AI Cloud Native Solutions
Kinfey Lo
.NET Aspire is a one-stop cloud-native distributed application solution. In this session, in the Generative AI scenario, you will use .NET Aspire combined with the Phi-3-mini ONNX model to quickly build RAG applications. You will learn 1. How .NET Aspire structures GenAI applications 2. Semantic Kernel creation skills 3. Create RAG application through Phi-3-mini
21:30 - 22:00 PST
Modernising Legacy .NET Codebases with NDepend
Goh Chun Lin
In this talk, we will explore how to migrate legacy .NET projects, such as O2DES.NET, which are still targeting at .NET Standard 2.1 to modern frameworks, focusing on the importance of code quality and maintainability. In 2019, I had the honour of working closely with the team behind the open-source O2DES.NET during my time working at the C4NGP research center in National University of Singapore. After I left the team in 2022, O2DES.NET has not been actively updated on their GitHub public repository and it is still targeting at .NET Standard 2.1. Through the example of updating O2DES.NET, we will demonstrate how static analysis tools like NDepend can help assess technical debt, visualise code dependencies, and guide us on code refactoring with the coding rules. Whether you are preparing for .NET 9 or optimising for current .NET versions, you will gain insights on how to future-proof your code for upcoming platform updates.
22:00 - 22:30 PST
Navigating Async Challenges in EF Core for Large Data Retrieval
Saeed Esmaeelinejad
This talk will address a common yet critical issue faced by developers using EF Core (including EF Core 9.0) to read large datasets asynchronously. Despite the promise of scalability with async programming, many encounter performance degradation, timeouts, or incomplete data reads when using methods like ToListAsync and FirstOrDefaultAsync in EF Core. We'll examine the underlying SqlClient library and its internal class, TdsParserStateObject, to understand how it handles asynchronous operations and why it struggles with large data reads. Attendees will gain insights into EF Core's async behavior, potential workarounds, and strategies to optimize performance when working with large datasets.
22:30 - 23:00 PST
With .NET and AI, our community app "aspires" to be on cloud nine
Augustine Correa
We are the largest Open-Source Software [OSS] community with its longest running (> 10 years) tech meetup in Bombay. And as such we are mostly houseful [ https://x.com/search?q=learnAspireMumbai&src=typed_query&f=live]. As a community that is committed to diversity and inclusiveness, most of our efforts and time is expended on registration triaging. And the next biggest friction in our meetup management is to ensure attendee check-ins and check-outs for building/civic code adherence So as a tech community, to solve this, we did the only thing we love to do: build an app. That too on .NET 9. We will tell you why .net9 is the best .NET yet and share what are the gotchas we had to look out for. In this session, we will explore the development of our community app using the latest features of .NET 9: Aspire, Semantic Kernel, Blazor Hybrid. This app leverages the power of .NET 9 to create a cloud-native, and intelligent platform that enhances user engagement and community interaction. We will delve into the integration of AI models to provide personalized experiences and improve overall functionality to building an inclusive and diverse community Also, our demo would include how GitHub Copilot and Copilot Workspace turbo charged our development to debut the app in time for .NET Conf 2024. And we wouldn't be an OSS community, if it's not on GitHub [https://github.com/HackerspaceMumbai/Visage/tree/dotnet9]. Contributors welcome 🙏
23:00 - 23:30 PST
Building Modular Applications with ASP.NET Core & ABP
Halil İbrahim Kalkan
ABP is an open source application development framework for .NET Developers. One of its main goals is to enable you to create modular applications. With the new ABP Studio tool, it is now easier to create fully modular systems with ASP.NET Core. In this talk, I will show how to do it in practical and explain the benefits of that approach.
23:30 - 00:00 PST
Boosting WPF Performance - Upcoming Improvements
Ashish Kumar Singh
This talk will focus on performance improvements in WPF DataGrid and other areas in WPF. We will be exploring the work in progress and improvements lined up in WPF for upcoming .NET releases. Join us to learn how to take full advantage of the performance enhancements in WPF and deliver responsive, high-performing applications.
00:00 - 00:30 PST
Releasing HybridCache into the Wild with Umbraco
Emma Burstow, Lotte Pitcher
In November 2024, Microsoft will unveil the highly anticipated hybrid cache feature, and at Umbraco, we couldn't be more excited. Our close alignment with Microsoft’s release cadence allows us to strategically incorporate the latest MS roadmap features such as tag-based eviction and the new MapStaticAssets middleware into our sprint planning. We’d like to show that on this occasion, the hybrid cache and other features have provided us with a unique opportunity to innovate. Join Emma and Lotte as they take you through Umbraco’s development in sync with Microsoft’s vision. They will showcase how our approach has enabled us to swiftly integrate cutting-edge capabilities, culminating in the implementation of the latest features in .NET 9. Discover how Umbraco’s agile alignment with Microsoft’s evolving technology landscape drives forward-thinking solutions that keep us ahead of the curve.
00:30 - 01:00 PST
F# - Nullable Reference Types
Tomáš Grošup
Join us for an in-depth exploration of F# 9's highly anticipated Nullable Reference Types feature. After years of development and strong community demand, this feature is set to revolutionize how F# handles null values, making C#-F# interop smoother and bringing a new level of null safety to the language. Whether you're an F# enthusiast or a C# developer looking to leverage F#'s strengths, this talk will equip you with the knowledge to take full advantage of this new feature.
01:00 - 01:30 PST
C# Source Generators Boost Productivity in the Rx.NET Repo
Ian Griffiths
Code generation has become increasingly important in recent versions of .NET, especially when using AOT compilation. But they can also play a role in boosting your power as a developer. This talk will show how we've been using source generators to extend the reach of the test suite in the Reactive Extensions for .NET. AsyncRx.NET was an experimental project with no tests, but source generators have made it possible to make the existing Rx.NET test suite work in this new project.
01:30 - 02:00 PST
Advanced Pattern Matching in C#
Oliver Sturm
All "real" functional languages support Pattern Matching - that's not really true, but it is correct that aspects of a functional programming style benefit from elegant and syntactically compact case distinction. Microsoft worked on Pattern Matching as a C# feature in at least three major language versions! In this talk, Oliver demonstrates how C# Pattern Matching works, why this evolution of the old imperative "switch" is so important, and how the structure of C# Code can be generally different from the past on the basis of this feature. As a conclusion, he proves that C# can now pattern match with the best, by porting a complex piece of Haskell code.
02:00 - 02:30 PST
Bulletproof ASP.NET Core APIs: The OWASP API Security Top Ten
Christian Wenz
The OWASP Top Ten as a list of the ten biggest security risks for web applications has been a de facto standard for over ten years. Somewhat out of the limelight, however, there are other lists. The OWASP API Security Top Ten highlights risks for APIs. Since arguably almost every web application relies on APIs these days, it's imperative that we address them. In the talk, we'll take a look at how the list came about and then go through all the points. In particular, we are of course interested in what this means for our chosen stack ASP.NET Core. Which points are relevant, and how can we take technology-specific countermeasures?
02:30 - 03:00 PST
Accessibility as a concept
Jemima Abu
Knowing how to build accessible products is important but it's just as important to know why we build products to be accessible. Basic human decency aside, there's a plethora of reasons for building products that everyone can use. In this talk, we'll explore the concept of accessibility in order to better understand its necessity and the ramifications involved in building non accessible products. We'll also answer pressing questions like "How do I know if this thing I built is accessible?" and "Whose job is it to ensure accessibility?" (Spoiler: it's everyone's job)
03:00 - 03:30 PST
Building Rich Web Applications with Blazor Server and MudBlazor
Flora Mousavi
In this session, we'll explore how to create robust, interactive web applications using Blazor Server and MudBlazor. We'll dive into practical examples from a real-world application, discussing how MudBlazor's rich components can enhance user experience and simplify development. The session will cover performance optimization techniques, handling complex UI requirements, and best practices for deploying Blazor Server apps in production. Attendees will leave with actionable insights to elevate their Blazor Server projects.
03:30 - 04:00 PST
Building Generative AI apps with GitHub Models and .NET
April Yoho
As a full stack engineer, we often are integrating our code with various AI models. As access to models has been a challenge, you can now customize and are given a free playground with GitHub Models. In this session we'll dive into how to choose an AI model, configure the parameters and most importantly learn about prompting with AI. April will be providing a hands-on session to being AI to your engineering practices
04:00 - 04:30 PST
Empowering WPF Developers - WPF in .NET 9
Pankaj Chaurasia
Join us on a journey through the latest advancements in WPF with .NET 9 and explore the exciting future that lies ahead. This talk will dive deep into the new Fluent theme, which brings a modern Windows 11 look and feel to WPF applications, complete with Light/Dark mode and system accent color support. We'll also cover the new hyphen-based ligature support that enhances typography for a more polished user experience. But that's not all—get a sneak peek into what's planned for beyond .NET 10, including the top-requested features that will empower you to build even more powerful and visually stunning WPF applications. Whether you're a seasoned WPF developer or just getting started, this session will equip you with the knowledge and tools to take full advantage of the platform's evolving capabilities.
04:30 - 05:00 PST
Cross-Platform Magic: Transforming WPF Apps with Avalonia XPF
Mike James
Step into the future of .NET app development! This hands-on session will revolutionise the way you think about WPF applications. We're ditching the slides and diving straight into the IDE to show you how Avalonia and Avalonia XPF can breathe new life into your Windows-only apps. You'll leave with the knowledge to take your desktop apps cross-platform, opening up new markets and opportunities.
05:00 - 05:30 PST
Talking to managers about modernizing .NET apps
Tomas Herceg
Most developers understand the benefits of migrating legacy apps to the new .NET and the risks of not doing so. Sadly, it is usually not the developers who decide whether these old .NET Framework applications will be modernized or not. How do you convince the management to allocate the budget for this task? What arguments and information should you present to stakeholders who do not have a technical background to ensure they understand the situation? In this session, I'll provide valuable tips and arguments I used in the past to advocate the necessity of modernization in various companies. I'll talk about estimating the effort of modernization and the long-term maintenance costs. I'll also go through the security risks and other benefits of the upgrade, such as improving the project's attractiveness for hiring new developers.
05:30 - 06:00 PST
Azure Health Checks in .NET 9
Steven Hook
Join us for an exploration of how Azure’s Health Check feature, integrated with .NET 9 APIs, can provide base-level or even customized validation of your application’s health. We'll also be covering some lessons learned from production systems and some surprising results of misconfigured health checks. At first glace, health checks are rather simple but determining what to check and what Azure does with applications that fail those checks is critical to understand before implementing a health check. Topics to cover: - Setting up a simple health check to ensure the app service exists - Customizing your health check to validate dependencies - Discussing some secrets of how Azure recovers from an unhealth app - Advanced customizations to have more control of failovers and frequency
06:00 - 06:30 PST
Migrate your .NET Framework / EF6 "Classic" app to .NET 9 and Azure SQL
Erik Ejlskov Jensen
With the help of a new Entity Framework 6 "Classic" package thjat I have just published, you can migrate your legacy .NET Framework applications in increments and move to .NET 9 with Azure SQL Database and the latest security advances. In this demo driven session you will learn how to do this with the help of .NET Upgrade Assistant and my new package.
06:30 - 07:00 PST
dotnet CLI all the things!
Andres Pineda
Visual Studio is undoubtedly an excellent IDE that makes us highly productive in building applications, offering the best experience for .NET development. But what if you could remain productive even when Visual Studio isn't available? In this presentation, we'll dive into the capabilities of the .NET CLI, equipping you with everything you need to build, run, and deploy all types of .NET applications.
07:00 - 07:30 PST
Modernize Your Monolith with EventStorming
Sarah Dutkiewicz
Modernizing legacy monoliths is a daunting task, but EventStorming offers a clear path forward. Join us as we show how you can use EventStorming to deconstruct your monolithic .NET applications and migrate them towards a microservices architecture. This session will provide actionable insights into the EventStorming process, highlighting how it helps align technical and business teams while reducing risks and ensuring a smooth transition.
07:30 - 08:00 PST
Build AI apps with .NET 9
Rebai Hamida
As microservices continue to dominate the architecture landscape, integrating AI capabilities into these services can lead to smarter and more responsive applications. In this session, we'll explore: How to architect microservices with .NET 9, focusing on modularity, scalability, and maintainability. The process of embedding AI into these microservices using Azure OpenAI, enhancing their functionality with intelligent decision-making. Strategies for deploying and managing these AI-powered microservices in a containerized environment using Docker, ensuring they are cloud-ready.
08:00 - 08:30 PST
How I used .NET 9 and AI to charge my electric car
Johnny Hooyberghs
Can you use .NET 9 to charge your electric car using solar power? Absolutely! In this session, Johnny will show you how to leverage your development skills and .NET 9 to combine data from external vendors by using their API's and be smart with that data to command your electric vehicle to charge when the time is right. Johnny even added some AI to the mix to be able to ask questions about the current charging state using Azure OpenAI for the LLM, Semantic Kernel to create a custom copilot, and Azure Cognitive Services for Speech-To-Text. This demo is not something that is put together for this talk, it is a cloud-native distributed application used by Johnny on a day-to-day basis.
08:30 - 09:00 PST
Getting Started with OpenTelemetry in .NET
Frank Boucher, Jason Hand
In this session, we will show you how to instrument a .NET Blazor application to use OpenTelemetry and .NET Aspire to help us visualize what is really happening in our application. We will than see how we can add OpenTelemetry exporters and use different solution: Azure Application Insight or Datadog APM to collect those OpenTelemetry metrics and traces and how it could help us.
09:00 - 09:30 PST
New tools in Visual Studio for Web API developers
Sayed Hashimi
There's so much new good stuff in Visual Studio for ASP.NET Core Web API developers. We've added lots of features to HTTP files and we are making it easier for you to develop Web APIs. Sayed will give a tour of all the new features and support for Web API developers.
09:30 - 10:00 PST
Extending ASP.NET Core OpenAPI
Martin Costello
In this session we'll take a look into the transformation interfaces that ship as part of the Microsoft.AspNetCore.OpenApi NuGet package in ASP.NET Core 9 to see how we can build on top of them to enrich an OpenAPI document. Using document, operation and schema transformers, we'll take a look at an approach to add rich examples and descriptions to an API to help make it even easier for other developers to create an integration that depends on our application's API.
10:00 - 10:30 PST
Clean Architecture with ASP.NET Core 9
Steve Smith
ASP.NET Core 9 provides better support for clean, testable, maintainable architectures than any of its predecessors. Learn the underlying principles that apply to project/solution organization, how best to arrange your projects to support clean code, and how to refactor existing solutions toward this architecture. Examples will use ASP.NET Core but the principles covered apply to all languages and platforms.
10:30 - 11:00 PST
What’s New in .NET 9 for Data Access: From Document DBs to Vector DBs
Jiří Činčura
This session will provide an in-depth look at the new data access features in .NET 9, focusing on the seamless integration of Document DB Providers like MongoDB, and the cutting-edge capabilities of Vector Databases including Azure SQL, Qdrant, Pinecone, and many others. We’ll also cover the new vector search abstractions for advanced data queries. Learn how these updates can streamline your data workflows and enable more efficient and scalable application development.
11:00 - 11:30 PST
Community Toolkit Roundup
Gerald Versluis, Michael Hawker, Adrian Hall
The past year the Community Toolkit family has been growing, and we've welcomed the .NET Aspire Toolkit and Datasync Toolkit. So it's about time we update you with the latest and greatest. Join a lively discussion with maintainers of the Community Toolkits, the .NET Community Toolkit, the MAUI Community Toolkit, and the Windows Community Toolkit. Learn about these open-source projects which aim to provide useful and high-quality components, controls, and utilities for .NET developers. Discover how you can get involved, contribute, and benefit from these amazing toolkits that cover various .NET platforms and technologies. Whether you are developing desktop, mobile, web, or cross-platform applications, there is a Toolkit for you!
11:30 - 12:00 PST
State of the .NET Foundation and .NET Open Source
Kevin Griffin, Mitchel Sellers
We discuss the .NET Foundation's current state, what we'd like to do moving forward, and how the .NET community can get involved. We also highlight some new projects recently added to the Foundation.
12:00 - 12:30 PST
Building .NET Applications Across Clouds with .NET Aspire
Norm Johanson, Scott Hunter
Explore how .NET Aspire, a true multi-cloud development platform, simplifies building, deploying, and managing applications across various cloud environments. This session demonstrates how Aspire allows developers to work with cloud services in a unified way, removing the need for multiple toolsets. Learn how Aspire’s seamless integration enables a streamlined F5 debugging experience, with cloud resources provisioned and connected instantly to your application—whether you’re using Microsoft Azure, AWS, or other cloud providers.
12:30 - 13:00 PST
Orleans: Microsoft's distributed systems framework for .NET
Reuben Bond
Microsoft Orleans underpins many cloud services at Microsoft. It gives teams a straightforward approach to building efficient, reliable, elastically scalable cloud services quickly. In this session we will introduce Orleans and describe its core features and what's new in 2024. We will follow with a technical dive deep into placement & load balancing in Orleans, covering the latest advancements for reliability and performance, including some cutting-edge recent work in rebalancing & locality-aware repartitioning.
13:00 - 13:30 PST
Oracle DB with .NET + EF Core 9
Alex Keh
Learn about the new .NET 9 and EF Core 9 capabilities supported with Oracle Data Provider for .NET (ODP.NET). New .NET and Oracle database capabilities include controlling query parameterization, inlined uncorrelated subqueries, ToHashSetAsync methods support, passing complex type instances to ExecuteUpdate, auto-compiled models, and more. Join this session to see demos of these new features.
13:30 - 14:00 PST
Unpacking the Newest in NuGet
Allie Barry, Jon Douglas
This session dives into the newest features and updates in NuGet, the package manager that powers .NET development. Whether you're a seasoned developer or just starting out, this talk will give you a comprehensive overview of what’s new in NuGet, how these features can streamline your workflow, and why they matter for your projects.
14:00 - 14:30 PST
Announcing Uno Platform Studio and Hot Design
Jérôme Laban, Nick Randolph
We are proud to introduce Uno Platform Studio, a suite of productivity tools featuring Hot Design—a next-generation visual designer for .NET cross-platform apps! In this demo-packed session, we’ll showcase how this new tooling revolutionizes the visual design ecosystem and explain how the .NET ecosystem uniquely benefits from productivity boosts brought by a runtime visual designer for cross-platform apps.
14:30 - 15:00 PST
New Features in the .NET 9 JIT
Andy Ayers
A deep dive into some of the many improvements made in the .NET 9 JIT, including new loop optimizations, stack allocation of objects, ARM64 SVE, improvements in AVX-512, and more!
15:00 - 15:30 PST
Modernizing .NET Apps with Upgrade Assistant
McKenna Barlow
In this session, we'll explore the latest enhancements to the .NET Upgrade Assistant, focusing on new capabilities designed to simplify and streamline your upgrade process. You'll learn how the tool now supports comprehensive upgrade assessments, providing in-depth insights into project compatibility and upgrade complexity. We’ll also cover expanded package support, including Central Package Management (CPM), to help you manage dependencies more efficiently. Whether you're modernizing legacy applications or preparing for future upgrades, this session will equip you with the knowledge and tools to make the transition smoother and faster.
15:30 - 16:00 PST
C++ Interoperability Within .NET
Justin Pierce
Wield the power of over 25 years of C++ native libraries within .NET, using C#'s advanced interoperability features.
16:00 - 16:30 PST
Next-gen SQL projects with Microsoft.Build.Sql
Drew Skwiers-Koballa
Your database objects are stored as code for development in Visual Studio or VS Code with Microsoft.Build.Sql SDK-style SQL projects, but the advantages don’t stop there. SQL code analysis and other build-time tests can validate database code quality and correctness during continuous integration of code changes. With SQL projects delivering database object updates is easier and more reliable whether you're managing one database or a fleet of databases because the deployment plan is dynamically calculated through the SqlPackage CLI. In this session we’ll learn how to develop and deploy your database alongside your app components with SQL projects from the IDE to CI/CD.
YouTube Premieres
Premieres
08:00 - 08:30 PST
Build intelligent apps on .NET using Azure Communication Services
Milan Kaur
In this session, we will cover the details of building intelligent communication applications using .NET. Attendees will explore how to leverage the latest features of Azure Communication Services and Azure Open AI to create robust and scalable communication apps on .NET. We will cover how to add messaging channels such as SMS, WhatsApp and audio video capabilities into your AI apps using the latest gpt models.
08:30 - 09:00 PST
Secure intelligent apps with .NET 9 on App Service
Jeff Martinez
Learn how to make secure calls to Azure OpenAI from a .NET 9 chat app hosted on App Service by using Key Vault references to secure and manage your secrets for your Azure OpenAI resource, and leveraging Managed Identity (system-assigned) to secure communication between your web app and Azure OpenAI. We'll also secure communication between our web app and Azure SQL database using Managed Identity as well.
09:00 - 09:30 PST
Beyond GitHub Copilot Tips and Tricks
April Yoho
In this session April will take you beyond simple prompts with GitHub Copilot. We will look at how to build a testing suite for your .NET code and follow the journey alongside GitHub Copilot from beginning to end. We'll also explore the end to end capability of GitHub Copilot workspaces and how it can help with the start of an issue, through to planning and delivery. A true DevOps copilot when developing your .NET code!
09:30 - 10:00 PST
Smart UI Powered by AI 🚀
Sam Basu
It is the age of AI and there are some big opportunities for .NET developers - infuse apps with solutions powered by Generative AI and Large Language Models (LLMs), as well as, boost developer productivity. .NET client apps can benefit from AI-powered Smart UI Components, like AI Prompts, Smart Grid/ComboBox search with Local Embeddings and searching/manipulating PDFs with Semantic search. Enterprise workflows often require working with desktop apps and document processing - rich text editing could make users productive with AI-powered completions, while spreadsheets could perform formulations/automations. Web developers could dynamically style web UI components with AI-powered theming or get contextual assistance while writing Blazor code in a browser REPL. Towards developer productivity, GitHub Copilot could be extended with custom chat agents to preserve developer context and get deeply contextual code completions, powered by documentation RAG. Let's explore what's next for AI-powered .NET UI towards wonderful UX and optimized developer productivity tools.
10:00 - 10:30 PST
Deep dive on native AOT
Michal Strehovský
Native AOT has been part of .NET since .NET 7. With each release we're extending the areas where it can be used. From console apps in .NET 7, through ASP.NET web APIs in .NET 8, to MAUI in .NET 9. It is your best bet if you need your .NET app to start fast and use as little memory as possible. But how does native AOT actually work? Why does it start so fast? How can we fit an entire .NET runtime, the base class libraries, and your code in a 1 MB executable file? In this talk we'll peek into the internal workings of native AOT compilation and look at what it does at run time.
10:30 - 11:00 PST
Create great MIDI 2.0 apps using Windows MIDI Services and C#
Pete Brown
The open source Windows MIDI Services project (https://aka.ms/midi) is nearing its first consumer release, and is getting ready to be in-boxed in Windows. In this session, learn about what the new MIDI stack brings, and then learn how to use the developer preview bits available today to create MIDI 2.0 and MIDI 1.0 apps for Windows, including virtual devices, USB, and more, all using C#.
11:00 - 11:30 PST
How we chose the right UI framework for DevToys
Etienne Baudoux
Choosing the right UI framework in .NET can be daunting with options like .NET MAUI, Uno Platform, Blazor Hybrid, and many more. Each framework offers unique strengths; the optimal choice depends on your project goals. We'll use https://devtoys.app as a case study to explore these frameworks.
11:30 - 12:00 PST
Audit Like a Pro: Securing Your NuGet Packages
Jon Douglas, Andy Zivkovic
In this session, we will explore the importance of regularly auditing your NuGet dependencies to identify and address potential security vulnerabilities. You will learn how to use various tools and techniques to scan your dependencies, understand common vulnerabilities, and take proactive steps to secure your .NET projects. By the end of this session, you'll be equipped with practical strategies to ensure your code remains secure and up-to-date in an ever-evolving threat landscape.
12:00 - 12:30 PST
"Intelligenize" your WinForms Apps for an amazing new customer experience!
Klaus Loeffelman
WinForms has been a cornerstone of countless mature LOB applications for nearly 30 years, encapsulating critical domain knowledge. They are the perfect candidates for retrofitting AI- and LLM support, but: modernizing such systems in a feasible way excludes starting from scratch - "intelligenizing" existing functionalities is the efficient way to go. Let's explore how the new .NET 9 features can support you to combine AI/LLMs into your existing LOB to achieve stunning results in minutes. Join us to discover new AI tricks for even the most mature dog and take your WinForms LOB apps to the next level! Highlights: * Combine WinForms components with Semantic Kernel * The Speak-German-in-just-2-Minutes AI-WinForms App! Seriously! Would I lie to you? 😊 * Discover the next level: Intelligent Assistant UI Controls for LOB Apps * Write graphic-rich, high-performance chat-assistant controls with WinForms Blazor Hybrid
12:30 - 13:00 PST
Exploring the New Fluent UI Blazor Library: Next-Gen Web Components and Architectural Innovations
Vincent Baaij, Denis Voituron
Join us for an in-depth session on the upcoming new major version of the Fluent UI Blazor library, which introduces cutting-edge Web Components and significant architectural changes. This session will cover: - Overview of New Features: Discover the enhancements in the new Fluent UI Blazor library, including updated Web Components - Architectural Changes: Learn about the major architectural shifts that improve performance, scalability, and maintainability. - Migration Guide: Yes, there will be a lot of breaking changes! But we will guide you with practical tips and best practices for migrating your existing projects to the new version - Hands-On Demos: See the new features in action with live coding demonstrations.
13:00 - 13:30 PST
The force is strong in LLMs - building an open source Star Wars inspired copilot in .NET
Jim Bennett
In the Star Wars universe, many pilots have an astromech copilot. Luke had R2-D2 in the back of his X-Wing for example. As developers, we too have copilots. Although these are not as cool as R2, and don’t help us blow up the Death Star, they do help us with our day to day tasks like writing code. Whilst copilots can be boring, Jim thought it would be fun to create one inspired by Star Wars to help him with important tasks, such as describing his Lego collection (Star Wars Lego of course), and helping him write code, all done in the style of a Jedi. In this session, Jim will walk you through the steps to build your own copilot, using the Pieces .NET SDK. By leveraging this SDK, your copilot can not only access an LLM of your choice from a range of cloud and on-device models such as Microsoft Phi and OpenAI GPT-4o, but you can also add assets to your chat’s context, such as code, documents, and plans for the Death Star. And just like a Jedi can sense the living force, this copilot can sense your presence and answer questions without needing additional documentation, such as summarizing your research on Wookiepedia. And best of all, reply like Yoda, it can! By the end of this session, you will be able to complete your apprenticeship and build your own open source AI copilot.
13:30 - 14:00 PST
MVVM Building Blocks for WinUI and WPF Development
Michael Hawker, Sergio Pedri
Embark with us on a hands-on journey to acquire the foundational elements of modern Windows app development. We'll show you how XAML, Data Binding, and MVVM come together to empower your development process, increase agility, and simplify your codebase! You'll end up with the essential skills to start crafting applications with WinUI or WPF and empower yourself to create robust, scalable, and maintainable Windows applications.
14:00 - 14:30 PST
Infuse AI in your Windows apps with .NET
Nikola Metulev, Alexandre Zollinger Chohfi
Join us for a demo packed session where you will learn what you can do with AI on Windows and how to add AI based features to your Windows apps to delight and empower your users. With Windows Copilot Runtime, developers can leverage APIs backed by on-device models such as Phi Silica and use frameworks and tools to leverage the latest open source or proprietary models locally within their apps
14:30 - 15:00 PST
Maximizing Productivity: Cloud Development with Visual Studio and Dev Box
Sebastian Hernandez, Vedha Ranganathan
Discover how Microsoft engineers have revolutionized their .NET development with Microsoft Dev Box and Visual Studio. Learn how they have streamlined their development processes using various task-focused cloud development tools. Gain practical insights into coding, testing, and deploying applications from the cloud, and explore the latest and most advanced features of Visual Studio and Dev Box.
15:00 - 15:30 PST
How Fidelity uses .NET MAUI for Cross-platform desktop
David Ortinau, Matthew Faust, Kevin Bieri
Kevin and Matthew join us from Fidelity to share their experiences and successes using .NET MAUI to power the next generation of their Active Trader Pro desktop client. We'll get into: Optimizing UI Dispatch for MAUI Applications WebView Pooling and Optimizations for OSX and Windows MDI multi-window desktop interfaces Controlled Initialization and Shutdown sequences for MAUI Dynamic Context Menus
15:30 - 16:00 PST
AI at the Edge with Meadow and .NET
Adrian Stevens
Explore the intersection of AI and edge computing with Meadow and .NET. This talk delves into implementing TensorFlow Lite for Microcontrollers on the Meadow F7, empowering developers to run machine learning models directly on microcontrollers. We'll also examine innovative AI sensors from companies like Useful Sensors, such as the Tiny Code Reader and Person Sensor, which offer plug-and-play AI functionalities. Join us to learn how to harness these tools to create intelligent, efficient, and responsive edge devices.