Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
.NET Core 3.0 -- Post Launch Blog Posts

.NET Core 3.0 -- Post Launch Blog Posts

We launched .NET Core 3.0! Go team! The super official blog post covered a lot of features, but none of them at depth. Many people will want to learn more about specific scenarios at features at much greater depth, with more guidance and better code samples.

The following is a list of proposed posts (with descriptive but prelimary titles) for us to write and publish during the rest of 2019.

Note: This tweet also has feedback.

Getting Started

  • How to setup a development evironment on Windows with Visual Studio
  • How to setup a development evivironment on macOS with Visual Studio for Mac
  • How to setup a development environment on Linux
  • How to use wsl2 and windows together for developer joy.
  • How to setup .NET Core on Red Hat

DevOps

  • How do create CI/CD flows with .NET with Azure DevOps and other Azure services
  • File -> New -> DevOps for Desktop Developers
  • How to optimize apps with dotnet publish (linker, ready to run and bundling)
  • More about deployment best practices, in particular using docker beyond hello world examples and not only targeting only azure cloud.
  • How to find the right Docker cgroup memory and cpu request and limits for your .NET Core 3.0 application in Kubernetes.

Fundamentals

  • Tell me all the things on nullable
  • nullable is a good topic, but a "Why should and, and how should I" for it would be better.
  • Tell me about patterns again, from scratch, including C# 8
  • Tell me all the other things in C# 8
  • Troubleshooting on non-Windows platforms.
  • how to use dotnet-trace and dotnet-counter
  • How to do Localization right with .NET Core 3.0
  • Best options for documentation with .NET Core
  • An Identity walkthrough probably a series of blog posts) with everything you need to know. This topic is so incredibly complex. Including, perhaps: go away now and read the specs x and y and then return back here"
  • I wouldn't mind a detailed run through on implementing identity, customising it, oAuth and openid? If these are possible to do without identity server? Too many vanilla posts on this that cover similar ground.
  • A Windows Service (or systemd) host that is also a web host. Either for hosting a website/WebAPI in a service or have it as a status or configuration endpoint.
  • I'd love to see more on security best practices, the certificate classes, encryption enhancements, etc...
  • Integration testing would be good - especially as there are some gotchas around exporting configuration for referencing in your tests (thank you JsonConfiguration/StreamReader for disposing of my file stream)
  • I would love to see the long promised tutorial: "Writing allocation free code in C#".
  • How about "How to wrap my .net core application in blankets of SRE love."
  • migration stories from 2.1/2.2 to 3.0 including breaking changes
  • given this is a current release, how to prep for 3.1 LTS
  • How to rewrite existing AppDomain code to Core.
  • A blog post for writing plugins with hot reloading (update plugins without stop application or server) by .NET Core 3 new unloading feature.
  • AssemblyLoadContext and the new features in .NET Core 3.0
  • Write about @safe_stack, giraffe/Saturn. It's awesome on core 3.
  • Writing parallel code in 2019.
  • Was looking for something on async streams yesterday. Specifically in comparison to Parallel.ForEach and using MaxDegreeOfParallelism.
  • The new GC knobs in .NET Core 3.0: how and when to use them. (And other new knobs to tweak performance)
  • Changes of note in the 3.0 release of the .NET Extensions libraries.
  • Show a how-to to nuget library developers, showing to them how to target the different net versions, well the best approach. This might help community to update everything and we can embrace net core faster :)
  • Application security is a must on that list !
  • Patterns for sharing configuration among different projects with independent deployments in .NET Core 3 (and Azure DevOps)
  • Local functions in C# 8. They seem to allow parameters to have the same name as a variable in the parents scope. This is not documented anywhere it seems.
  • Best patterns and use cases for Reflection in 2019.
  • Why .NET 3? Show cases where there was a big win.

IoT

  • How to setup a development environment to target the Raspberry Pi
  • How to build cool IoT devices with C# (like the cool LED matrix from the keynote)

APIs

  • How to use the new System.Text.Json APIs, for fun (easy to use) and profit (fast)
  • Spans for dummies
  • Dive into the HTTP/2 support in HttpClient
  • I see HTTP/2 on HTTP Client is supported. It would be cool to see more scenarios using this new feature and potentially pipelining requests for performance improvements.
  • A guide to using System.Threading.Channels
  • EF relations(eg: mapping, cascade delete etc)

Server-side

  • How about the authentication/authorization options. Browser to server but also service to service. IIS to IIS services options, Unix to IIS services and vice versa, Unix to Unix services.
  • Anything gRPC. Followed up by gRPC in docker and docker-compose.
  • gRPC -- It mentioned that the native and managed versions of grpc have different advantages. What are they, and how can you convert from native to managed?
  • Make your web app a PWA. (Could be multiple posts, basics to more advanced examples)
  • .NET Core is often used for microservices but not only HTTP based ones but also message based ones. Therefore the following two ideas for blog posts: Microservice-chassis (health, config updates, ...); How to properly use a worker service as a message queue worker (I mean there are millions of REST documentations but little on how to proceed a message). more info
  • A detailed blog on Project Bedrock and future thinking would be a good one.
  • In addition, a blog on future thinking regarding Endpoint routing.
  • Swapping a non trivial wcf or. Net remoting implementation for gRPC.
  • Comparing a gRPC backend API to a standard restful JSON api. Pros/cons when yo use what where
  • I just had alot of trouble using azure activedirectory. I wanted to retrieve a profile picture for the logged in user. It would teach httpclient, authentication, graph api. I used memory cache to cache profiles. Not pure .net 3.0 but useful in asp.net core in general -- note from rich: not the first time I've heard this/related stuff
  • How to use Microsoft SqlClient Data Provider for SQL Server with .Net Core?
  • Authentication with .NET Core 3.0 and React Redux single-page applications
  • How to do distributed tracing in ASP.NET Core on Azure

Windows

  • How to create WPF apps with .NET Core
  • How to create Windows Forms apps with .NET Core
  • Migrate classic wpf/winforms project to .net core using try-convert.exe as shown at .NET Conf
  • Specifically I'd like more info on migration of established desktop (e.g. WinForms) apps
  • What is the best way to deploy .NET Core Windows apps? Is ClickOnce supported or part of the experience?
  • More samples and detailed updates on .NET Core 3.0 Winforms and WPF, especially the Winforms Designer support preview, including when we are going to use both WPF and Winforms in one csproj/vbproj .NET Core 3.0's Windows Desktop SDK .
  • How to package and deploy WPF app with MSIX
  • I have a current UWP app, where does .net core 3.0 fit into the picture , I only see Winforms anf WPF mentioned in .Net Core 3.0 articles ?
  • writing WPF application with .NET Core 3.0 and also creating an installer (not clickonce) for it using CI/CD Azure DevOps pipeline; Had last time trouble to get Microsoft Visual Studio Installer Projects working on our build agents. I know there is also WIX, but I found it as not that easy to use as a newbie on installers.
  • How do you use a (winforms) windows host control in wpf in .net core?
  • Maybe a post on how to call win10 api from .net core apps? Just because core can be cross platform doesn't mean it has to be, right?
  • Choosing to deploy as x86 or x64?

Other stuff

  • More on C# to Web Assembly. What can I actually get done? Can I get a great touch-first interface like UWP

What else? Tell me which of these posts you want most in the comments? Which other ones do you want to read?

@docs-product

This comment has been minimized.

Copy link

docs-product commented Sep 25, 2019

How to document your .NET Core code 💁‍♀️

@Swimburger

This comment has been minimized.

Copy link

Swimburger commented Sep 25, 2019

How about the authentication/authorization options. Browser to server but also service to service.
IIS to IIS services options, Unix to IIS services and vice versa, Unix to Unix services.

@ghstahl

This comment has been minimized.

Copy link

ghstahl commented Sep 25, 2019

Anything gRPC. Followed up by gRPC in docker and docker-compose.

@kevinkoenig

This comment has been minimized.

Copy link

kevinkoenig commented Sep 25, 2019

I just had alot of trouble using azure activedirectory. I wanted to retrieve a profile picture for the logged in user. It would teach httpclient, authentication, graph api. I used memory cache to cache profiles. Not pure .net 3.0 but useful in asp.net core in general

@0xF6

This comment has been minimized.

Copy link

0xF6 commented Sep 25, 2019

More "blazored" hacks

@ericleigh007

This comment has been minimized.

Copy link

ericleigh007 commented Sep 25, 2019

Definitely love where this is going. Some suggestions:

  • More on C# to Web Assembly. What can I actually get done? Can I get a great touch-first interface like UWP

  • On UWP, how to use Net Core 3.0 / UWP / WinUI together?

  • How UWP and WPF compare? (but not sure that's a NET Core area, sorry...)

  • About the amazing performance improvements in NET Core 3 and how to take advantage of them.

-thanks
-e

@jlanng

This comment has been minimized.

Copy link

jlanng commented Sep 25, 2019

Spans for dummies

@richlander

This comment has been minimized.

Copy link
Owner Author

richlander commented Sep 25, 2019

I totally like span for dummies! That is definitely a thing. Been there myself.

@SQLvariant

This comment has been minimized.

Copy link

SQLvariant commented Sep 25, 2019

What about a post on: How to use Microsoft SqlClient Data Provider for SQL Server with .Net Core?
https://github.com/dotnet/SqlClient

@RussKie

This comment has been minimized.

Copy link

RussKie commented Sep 25, 2019

All of them 😎
Specifically I'd like more info on migration of established desktop (e.g. WinForms) apps and optimisations with publish.

@omariom

This comment has been minimized.

Copy link

omariom commented Sep 25, 2019

Troubleshooting on non-Windows platforms.

@sachinjoseph

This comment has been minimized.

Copy link

sachinjoseph commented Sep 25, 2019

A guide to using System.Threading.Channels

@ricardodsanchez

This comment has been minimized.

Copy link

ricardodsanchez commented Sep 25, 2019

  • How to do Localization right with .NET Core 3.0

  • Authentication with .NET Core 3.0 and React Redux single-page applications

@GeekWithKids

This comment has been minimized.

Copy link

GeekWithKids commented Sep 25, 2019

What about something on deploying. .Net core 3 WPF and Winforms apps and what happens with ClickOnce deployments in a .Net core world.

@richlander

This comment has been minimized.

Copy link
Owner Author

richlander commented Sep 25, 2019

These are really great topics. Please keep them coming! I can see @terrajobst is going to be very busy!

@normj

This comment has been minimized.

Copy link

normj commented Sep 25, 2019

The my top picks from your list are:

How to optimize apps with dotnet publish (linker, ready to run and bundling)
How to setup a developer environment to target the Raspberry Pi
How to build cool IoT devices with C#

I would add to the list:
Dive into the HTTP/2 support in HttpClient
Could always use more info on AssemblyLoadContext and the new features in .NET Core 3.0
More in depth knowledge of how dotnet-trace and dotnet-counter work. Imagine if some other provider want to extend and aggregate the data 😄.

@richlander

This comment has been minimized.

Copy link
Owner Author

richlander commented Sep 25, 2019

Nice @normj ... can you elaborate on the scenario you would like to see with HTTP/2? I am assume we are talking client scenarios.

@normj

This comment has been minimized.

Copy link

normj commented Sep 25, 2019

Yes client scenarios for HTTP/2. I haven't had a chance yet to delve into the HTTP/2 support in .NET Core 3.0 so it might not be even possible with what I want but setting up bi-directional communication pipe with HTTP/2 is what I'm thinking about. Our Java SDK has this ability but we don't have it for .NET.

@richlander

This comment has been minimized.

Copy link
Owner Author

richlander commented Sep 25, 2019

So something lower level than SignalR and not websocket-based?

Sent you mail on the your comment on the tools.

@normj

This comment has been minimized.

Copy link

normj commented Sep 25, 2019

We have services that can use bi directional streaming through HTTP/2 but using AWS event framing and authentication so yes we need to go lower level then SignalR.

@YairHalberstadt

This comment has been minimized.

Copy link

YairHalberstadt commented Sep 25, 2019

It mentioned that the native and managed versions of grpc have different advantages. What are they, and how can you convert from native to managed?

@janerikohman

This comment has been minimized.

Copy link

janerikohman commented Sep 25, 2019

These 2 are top on my wish list:

  • How to build cool IoT devices with C# (like the cool LED matrix from the keynote)

  • Tell me about patterns again, from scratch, including C# 8

@loic-sharma

This comment has been minimized.

Copy link

loic-sharma commented Sep 25, 2019

Some suggestions:

  1. How to make a CLI app with complex commands that integrates with Microsoft.Extensions.* ecosystem
  2. How to do distributed tracing in ASP.NET Core on Azure
@Structed

This comment has been minimized.

Copy link

Structed commented Sep 25, 2019

An Identity walkthrough probably a series of blog posts) with everything you need to know. This topic is so incredibly complex.
Including, perhaps: go away now and read the specs x and y and then return back here"

@eriawan

This comment has been minimized.

Copy link

eriawan commented Sep 25, 2019

More samples and detailed updates on .NET Core 3.0 Winforms and WPF, especially the Winforms Designer support preview, including when we are going to use both WPF and Winforms in one csproj/vbproj .NET Core 3.0's Windows Desktop SDK .

@saint4eva

This comment has been minimized.

Copy link

saint4eva commented Sep 25, 2019

On UWP, how to use Net Core 3.0 / UWP / WinUI together?

@paulomorgado

This comment has been minimized.

Copy link

paulomorgado commented Sep 25, 2019

A Windows Service (or systemd) host that is also a web host. Either for hosting a website/WebAPI in a service or have it as a status or configuration endpoint.

@JonnySchnittger

This comment has been minimized.

Copy link

JonnySchnittger commented Sep 25, 2019

I'd love to see more on security best practices, the certificate classes, encryption enhancements, etc...

@CyberSinh

This comment has been minimized.

Copy link

CyberSinh commented Sep 25, 2019

How to package and deploy WPF app with MSIX

@JwanKhalaf

This comment has been minimized.

Copy link

JwanKhalaf commented Sep 25, 2019

I second localization. What is the "right" way if there is such a thing.

@khalidabuhakmeh

This comment has been minimized.

Copy link

khalidabuhakmeh commented Sep 25, 2019

I see HTTP/2 on HTTP Client is supported. It would be cool to see more scenarios using this new feature and potentially pipelining requests for performance improvements.

@klabranche

This comment has been minimized.

Copy link

klabranche commented Sep 25, 2019

How to use wsl2 and windows together for developer joy.

How to use wsl2 and nvm to maintain your node versions on your windows machine. (Is this even possible?)

Make your web app a PWA. (Could be multiple posts, basics to more advanced examples)

@richlander

This comment has been minimized.

Copy link
Owner Author

richlander commented Sep 25, 2019

Ah, yes, WSL2. A post on that would be good. We have been working with the VS Code Remote team to fix some things. Gotta finish that!

@RUSshy

This comment has been minimized.

Copy link

RUSshy commented Sep 25, 2019

Blogpost on why .net sucks because it can't efficiently AOT compile its code into a small native executable, and why GO is a better alternative

@CyberSinh

This comment has been minimized.

Copy link

CyberSinh commented Sep 25, 2019

Blogpost on why .net sucks because it can't efficiently AOT compile its code into a small native executable, and why GO is a better alternative

Please no pollute this thread with trolls.

@RUSshy

This comment has been minimized.

Copy link

RUSshy commented Sep 25, 2019

That is not troll, your post is a troll, because you refuse to hear the truth we end up in situation where a simple calculator is 141mb (from .net conf livestream)

image

@sport-monkey

This comment has been minimized.

Copy link

sport-monkey commented Sep 25, 2019

nullable is a good topic, but a "Why should and, and how should I" for it would be better.

Integration testing would be good - especially as there are some gotchas around exporting configuration for referencing in your tests (thank you JsonConfiguration/StreamReader for disposing of my file stream)

@Pinox

This comment has been minimized.

Copy link

Pinox commented Sep 25, 2019

I have a current UWP app, where does .net core 3.0 fit into the picture , I only see Winforms anf WPF mentioned in .Net Core 3.0 articles ?

@guillemsola

This comment has been minimized.

Copy link

guillemsola commented Sep 25, 2019

More about deployment best practices, in particular using docker beyond hello world examples and not only targeting only azure cloud.

I understand your interests are mostly about core 3 topics but those can come together with some prod proof scenarios. I see this as a way to help people successfully move on with net core.

@tthiery

This comment has been minimized.

Copy link

tthiery commented Sep 25, 2019

.NET Core is often used for microservices but not only HTTP based ones but also message based ones. Therefore the following two ideas for blog posts:

  • Microservice-chassis (health, config updates, ...)
  • How to properly use a worker service as a message queue worker (I mean there are millions of REST documentations but little on how to proceed a message).
@richlander

This comment has been minimized.

Copy link
Owner Author

richlander commented Sep 25, 2019

@tthiery -- can you define non-HTTP message-based services? What proposal would that be?

@richlander

This comment has been minimized.

Copy link
Owner Author

richlander commented Sep 25, 2019

@guillemsola -- do you have a specific orchestrator in mind or just how to use various cloud services with docker?

@diverdan92

This comment has been minimized.

Copy link

diverdan92 commented Sep 25, 2019

File -> New -> DevOps for Desktop Developers

@ridomin

This comment has been minimized.

Copy link

ridomin commented Sep 26, 2019

Arm64 for IoT

@dasMulli

This comment has been minimized.

Copy link

dasMulli commented Sep 26, 2019

Migrate classic wpf/winforms project to .net core using try-convert.exe as shown at .NET Conf

@LindaLawton

This comment has been minimized.

Copy link

LindaLawton commented Sep 26, 2019

  • Authorization & authentication
  • Signal R
  • Win forms
  • Everything Blazor
@shaggygi

This comment has been minimized.

Copy link

shaggygi commented Sep 26, 2019

A detailed blog on Project Bedrock and future thinking would be a good one.
In addition, a blog on future thinking regarding Endpoint routing.

@616b2f

This comment has been minimized.

Copy link

616b2f commented Sep 26, 2019

My wish:

  • writing WPF application with .NET Core 3.0 and also creating an installer (not clickonce) for it using CI/CD Azure DevOps pipeline

Had last time trouble to get Microsoft Visual Studio Installer Projects working on our build agents. I know there is also WIX, but I found it as not that easy to use as a newbie on installers.

@guillemsola

This comment has been minimized.

Copy link

guillemsola commented Sep 26, 2019

@guillemsola -- do you have a specific orchestrator in mind or just how to use various cloud services with docker?

Not really @richlander, but it would be interesting to hear from experts if different orchestrators may imply different strategies

@tthiery

This comment has been minimized.

Copy link

tthiery commented Sep 26, 2019

@richlander in response to the query from before

We have a set microservices which are processing messages received from RabbitMQ. When they are done they either send out other messages or have modified a state, or whatever. They may acknowledge the successful message processing to the queue or may internalize the message to an internal worker queue. All depends on the use case.

We have seen these demonstrated over and over again for HTTP requests in numerous Microsoft and non-Microsoft blogs and docs but there is very little in the sphere of asynchronous message processing. In past we had tons of MS provided tech on it like MSMQ (w/ or w/o WCF) or activation services. In the modern world we have AWS SNS, NATS, RabbitMQ, ActiveMQ etc.

As a blog post I would love to see some message processing from RabbitMQ or similar. As a request to the product manager, I would love to see a dispatching framework similar what ASP.NET Core is. In the end you receive messages and dispatch them to a function. ASP.NET Core would be lovely to be used for that, however their whole middleware stack has an obsession with HTTP ;).

@ciaagent

This comment has been minimized.

Copy link

ciaagent commented Sep 26, 2019

How to build cool IoT devices with C# (like the cool LED matrix from the keynote)
and
How to create Windows Forms apps with .NET Core

@IustinMicu

This comment has been minimized.

Copy link

IustinMicu commented Sep 30, 2019

I would love to see the long promised tutorial: "Writing allocation free code in C#".
It's a great topic that would greatly improve the way we write code and how we treat performance.
I had a failed attempt at trying to learn more about free allocation code in C#, but the available documentation is not very accessible for someone like me who is new to the subject.

@stevehebert

This comment has been minimized.

Copy link

stevehebert commented Oct 2, 2019

How about "How to wrap my .net core application in blankets of SRE love." focusing on how to get turnkey metrics of the runtime shipping through a metrics pipeline. The JVM has a first-class story around this. The dotNet approach has always been well hidden and could use some socializing if it exists.

@JesperTreetop

This comment has been minimized.

Copy link

JesperTreetop commented Oct 11, 2019

The allocation-free code tutorial, along with a companion post about how Kestrel/ASP.NET Core went down to zero-allocations steady-state. There must have been a lot of landmines and reconsidering in that process that would be very informative for a real project.

@Gavin-Williams

This comment has been minimized.

Copy link

Gavin-Williams commented Oct 12, 2019

  • How to use CoreWindow (from UWP/WinRT) in .Net Core.
  • How to use WinUI and UI.Composition in .Net Core.
  • How to use WindowsSDK (from UWP/WinRT) in .Net Core.
  • Similarities and differences between .Net Core and UWP. What do we get, what are we giving up?
  • How to use Windows Runtime Components in .Net Core. (ie, .winmd support, calling custom C++/CX or C# WinRT Components)
  • How to use Win2d & DirectX in .Net Core. What are our options, and example code.
@richlander

This comment has been minimized.

Copy link
Owner Author

richlander commented Oct 12, 2019

Great questions @Gavin-Williams ... We are working on those things right now. If you've got some specific scenarios you are after, DM me @runfaster2000 on twitter. That may help us prioritize.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.