The .NET Stacks #34: 🎙 Visual Studio gets an update, and you get a rant

Happy Monday to you all. I hope you had a good week. Put on your comfy mittens and let’s get started.

  • Visual Studio gets an update, and you get a rant
  • EF Core 6 designs take shape
  • GitHub Pages gets more enterprise-y
  • A quick correction

Visual Studio gets an update, and you get a rant

The Visual Studio team has released v16.9 Preview 3. This one’s a hodgepodge, but a big call out is the ability to view source generators from the Solution Explorer. This allows you to inspect the generated code easily. People are already getting excited.

Since we’re on the subject, Jerry Nixon polled some folks this week about their preferred IDE. (I say VS Code is only an IDE when you install extensions, but I digress.) As of Sunday night, JetBrains Rider comes in at around 26%. It might seem low to you, but not to me. After years of Windows-only .NET making Visual Studio the only realistic IDE, it’s amazing that a third-party tool is gaining so much traction. This recognition is well-deserved, by the way—it’s fast, feature-rich, and does so much out-of-the-box that Visual Studio doesn’t. I installed it this week after thinking about it for years, and am impressed so far.

Of course, your mileage may vary and the “new and different” is always alluring at first. But, to me, what’s more troubling is my reason for giving it a try. I wouldn’t be offended if you called me a Visual Studio fanboy. I’ve used it for over a decade and a half. Even so: the Razor editing experience is a pain (with the admission they are rolling out a new editor), and component discovery is a hassle when working with Blazor, and closing and restarting Visual Studio is still a thing, in 2021. This is part of a general theme (and I’m not the only one): why is Blazor tooling in Visual Studio still so subpar? I’ve found Rider to provide a better Blazor development experience. Is it antecdotal? Yes. Do I think it’s just me? No.

I know it’s being worked on, I get it, but: when you deliver a wonderful, modern library with hype that hasn’t been seen in years … how is your flagship IDE not providing a development experience to match? Whether it’s internal priorities or a million other reasons that impact a large corporation, the expectation that Visual Studio users will have to wait and deal with it is suitable when customers don’t have a choice. They do now, and a non-Microsoft tool is consistently beating them on the Blazor development experience. I’m disappointed.


EF Core 6 designs take shape

This week, Jeremy Likness shared the high-level, subject-to-change plan for EF Core 6—to be released with .NET 6 in November. It’ll target .NET 6, of course, won’t run on .NET Framework and likely will not support any flavor of .NET Standard.

Some big features make the list, like SQL Server temporal tables (allowing you to create them from migrations and the ability to access historical data), JSON columns, compiled models, and a plan to match Dapper performance. The latter definitely caught my eye. As David Ramel writes this week, he quotes Jeremy as saying: “This is a significant challenge which will likely not be fully achieved. Nevertheless, we will get as close as we can.”

In other EF news, the team released a new doc on EF Core change tracking.


GitHub Pages gets more enterprise-y

As Microsoft is trying to make sense of competing workloads with GitHub and consolidate products–we’ve talked a few times about Azure DevOps and GitHub Actions—look for things in GitHub to get a little more enterprise-y.

This week, GitHub released something called “Access Control for GitHub Pages”, rolled out to the GitHub Enterprise Cloud. This gives you the option to limit access of GitHub Pages to users with repository access. This is ideal for documentation and knowledge bases, or any other static site needs.


A quick correction

There is no magic “undo” command with newsletters, sadly. I’d like to make a correction from last week.

I hope you enjoyed last week’s interview with Steve Sanderson, the creator of Blazor. I made a mistake in the introduction. Here’s what I originally wrote:

It seems like forever ago when, at NDC Oslo in 2017, Steve Sanderson talked about a fun project he was working on, called .NET Anywhere. In the demo, he was able to load and run C# code—ConsoleApp1.dll, specifically—in the browser, using Web Assembly. C# in the browser! In the talk, he called it “an experiment, something for you to be amused by.”

I made the implication that Steve created the Dot Net Anywhere (DNA) runtime. With apologies to Chris Bacon, not true!

Here’s what I should have said:

It seems like forever ago when, at NDC Oslo in 2017, Steve Sanderson showed off a new web UI framework with the caveat: “an experiment, something for you to be amused by.” By extending Dot Net Anywhere (DNA), Chris Bacon’s portable .NET runtime, on WebAssembly, he was able to load and run C# in the browser. In the browser!

Thanks to Steve for the clarification.


🌎 Last week in the .NET world

🔥 The Top 4

📢 Announcements

📅 Community and events

🌎 Web development

⛅ The cloud

📔 Languages

🔧 Tools

📱 Xamarin

🏗 Design, testing, and best practices

🎤 Podcasts

🎥 Videos