The .NET Stacks #40: 📚 Ignite is in the books

We’ve made it to 40. Does this mean we’re over the hill?

  • One big thing: Ignite recap
  • The little things: a new upgrade assistant, Okta buys Auth0, hash codes
  • Last week in the .NET world

One big thing: Ignite recap

Microsoft held Ignite this week. If you’re looking for splashy developer content, don’t hold your breath—that’s more suited for Build. Still, it’s an excellent opportunity to see what Microsoft is prioritizing. While most of this section won’t be pure .NET content, it’s still valuable (especially if you deploy to Azure). You can read a rundown of key announcements in the Book of News, and you can also hit up the YouTube playlist.

A big part of the VR-friendly keynote involved Satya Nadella sharing the virtual stage with Microsoft Mesh, the new mixed-reality platform. From the Book of News, it “powers collaborative experiences with a feeling of presence–meaning users feel like they are physically present with one another even when they are not.” Folks can interact with 3D objects and other people through Mesh-enabled apps across a wide variety of devices. If this is where you say, Dave, this a .NET newsletter - noted. However, as a technology that received attention at the Ignite keynote, it bears mention. (Especially with its applications in today’s pandemic world.)

If you’re into Azure Cognitive Services, Microsoft rolled out semantic capabilities. Also, their Form Recognizer service now has support for ID documents and invoice extraction. There are new Enterprise tiers for Azure Cache for Redis, and Azure Cosmos DB now has continuous backup and point-in-time support.

Azure Communication Services, announced last fall, is hitting general availability in a few weeks. If you aren’t familiar with it, Azure Communication Services allows developers to integrate voice, video, and text communication with their apps. (It certainly makes the relationship with Twilio a little more interesting.) The power of having these capabilities in Azure gives it the ability to integrate with other Azure products and services. For example, Azure Bot Service has a new telephony channel built on Azure Communication Services. If you’re writing a bot, you can leverage the AI from Cognitive Services and integrate it with your phone and messaging capabilities. These capabilities provide a distinct advantage to other services that focus on one need.

The little things: a new upgrade assistant, Okta buys Auth0, hash codes

This week, Microsoft announced the .NET Upgrade Assistant, a global tool that promises to help you upgrade your .NET Framework-based applications to .NET 5. It’s a global CLI tool that offers a guided experience for “incrementally updating your applications.” The assistant determines which projects you need to upgrade and recommends the order to be upgraded. Unlike tools like try-convert, you can see recommendations and choose how to upgrade your code.

The .NET Upgrade Assistant is not a tool meant to upgrade with a click of a button—you’ll likely need to do some manual work. It does promise to make your upgrade experience a lot easier. You can check out the GitHub repo for details as well. Side note: I’ll be releasing a detailed post on the .NET Upgrade Assistant by month’s end.


Last week, Okta bought Auth0 for $6.5 billion. (I think I need to start an API company.)

It makes sense: at the risk of oversimplifying, Okta provides IAM to companies that use it for SSO. Auth0 works on the app level, allowing developers API access to SSO. Okta has a reputation for being very enterprise-y, and Auth0 is known as a company with a startup feel that provides a developer-first experience. With this news, IdentityServer v4 now a paid product, and the Azure AD offerings, you have many choices when it comes to integrating auth in your .NET apps.


Did you know about HashCode.Combine? If you’re using custom GetHashCode implementations and C# 9 records don’t suit your needs it makes overriding hash codes easier.


🌎 Last week in the .NET world

🔥 The Top 3

📢 Announcements

📅 Community and events

🌎 Web development

🥅 The .NET platform

⛅ The cloud

📔 Languages

🔧 Tools

🏗 Design, testing, and best practices

🎤 Podcasts

🎥 Videos