What is ASP NET Core RC2

.NET 5.0 RC2 with new features and new weaknesses

Exactly one month after the first release candidate (RC1), the second RC version has now appeared, which should bring .NET 5.0 to the home straight. Microsoft actually wanted all of the new features in the product since August 2020. But the RC2 version released yesterday (together with Visual Studio 2019 v16.8 Preview 4) presents even more innovations. First and foremost, this is the return of click-once deployment.

Click-once deployment returns

Click-once deployment is a method of distributing .NET applications that has been around since the .NET Framework 2.0. It allows Windows applications to be easily distributed and automatically updated via web servers and network drives. Installation is possible without administrator rights and takes place in the local user directory.

In .NET Core 1.0 to 3.1, click-once deployment was not included, despite Microsoft's announcement to the contrary, and was therefore considered a "dead" technology. In July 2020, a message appeared on GitHub that the procedure should return in .NET 5.0 - albeit in a restricted form, i.e. program updates are only possible when the application is started, but not when it is closed or by user action during operation.

According to the blog post announcing .NET 5.0 RC2, click-once deployment should now be possible after all. A quick test showed that the command line tool is available on NuGet.org, but does not work as described. The commands shown cause the tool to crash with the message: "Internal error, please try again. Object reference not set to an instance of an object".

The function for configuring in Visual Studio shown in the blog is not found in version 16.8.0 Preview 4.0 released yesterday or in its release notes. Developers will probably have to wait for another update from Visual Studio.

Improvements for Blazor with weaknesses

Further innovations can be found in RC2 for ASP.NET Core Blazor. The option of isolated CSS files per Razor Component introduced in RC1 in September 2020 no longer collects the styles from all the projects involved in a single CSS file (_framework / scoped.styles.css) but creates separate CSS files for each project ( Projectname.styles.css). Microsoft now uses the interface instead of the class for reloading JavaScript files.

According to the ASP.NET Core 5.0 RC2 blog post, Microsoft has now annotated classes and class members from the .NET class library that are not available in Blazor WebAssembly applications, so Visual Studio is misleading the code as a warning to developers. The quick test showed that this actually works with the command. For other operations that are not allowed in the browser (e.g., and), developers do not receive any warning, only a runtime error of the type.

In RC1, Blazor WebAssembly could not be debugged due to a bug. Microsoft now wants to correct the error and also to have improved the content, e.g. the display of values ‚Äč‚Äčalso for inherited members,, for and in the case of.

In the test with .NET 5.0 RC2 and Preview 4 of Visual Studio 2019 v16.8, the debugging still does not work at all: Breakpoints are simply ignored, both in the Microsoft project template and in real Blazor projects. The IntelliSense input support for Blazor WebAssembly also regularly crashes in this version with the "RemoteInvocationExecption" error (see figure).

Further changes

In Visual Studio 2019 v16.8 Preview 4, developers can now find separate project templates for Blazor Server and Blazor WebAssembly in the "Add a new Project" dialog.

Not in the ASP.NET Core Blazor 5.0 RC2 blog post