Trying to migrate from ASP.NET Core 3.1 to 5.0 using this guide provided by Microsoft.
Installed SDK 5.0.100-rc.1 with runtimes. Updated project as guide says and sti
Thanks for your help, In my case, I have to followup steps mentioned by @Kasta and official guide.
I make sure that below SDK changes are in place,Thank you @OzanYasinDogan for mentioning this helps.
Microsoft.NET.Sdk.BlazorWebAssembly
Microsoft.NET.Sdk.Web
Microsoft.NET.Sdk
In my case, I had to
<RuntimeIdentifier>browser-wasm</RuntimeIdentifier>
and
<UseBlazorWebAssembly>true</UseBlazorWebAssembly>
.
Mentioned hereMicrosoft.AspNetCore.Components.WebAssembly.BuildServer
which was version 3.xx.xx causing conflicts from Blazor.Client
Project file.I resolved this issue in a way Richard described:
<PropertyGroup>
<TargetFramework>net5.0</TargetFramework>
<RazorLangVersion>3.0</RazorLangVersion>
</PropertyGroup>
Had the same issue and finally got it working. Here's how.
In my case, the error wasn't the result of the Blazor project itself, but a referenced project in the same solution. The referenced project targets .net standard 2.1, which should be fine in itself; however, it also had some NuGet packages installed which might conflict with Blazor dependencies: (Microsoft.Extensions.*).
Solution
- Project A (.net standard 2.1 - Class library)
- Dependencies
- Packages
- Microsoft.Extensions.Configuration.Json (<-- example dependency)
- Project B (.net 5 - Blazor webassembly)
- Dependencies
- Projects
- Project A (<-- caused the error, presumably because of the above dependency)
The blog post about .net 5 rc mentions all Microsoft.Extensions.* packages in a Blazor project should be updated to 5.0.0-rc.1.*.
Was able to resolve the issue by removing the project dependency (which I didn't need in the first place, but accidentally got placed there).
What I don't understand is why a 'dotnet build' doesn't give an understandable error message about a conflict instead of this vague message about the runtime identifier mentioning the Blazor project.
Hope this will help others as well.
I finally made it work.
I did everything that guide said, except for the project file which I changed to this:
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>net5.0</TargetFramework>
<UserSecretsId>*****</UserSecretsId>
<UseBlazorWebAssembly>true</UseBlazorWebAssembly>
</PropertyGroup>
...
But I have no idea if it is correct when official upgrade guide says to use:
<Project Sdk="Microsoft.NET.Sdk.BlazorWebAssembly">
instead of:
<Project Sdk="Microsoft.NET.Sdk.Web">
I faced the same issue and asked Microsoft about that under this post: https://github.com/dotnet/aspnetcore/issues/27738
You need to update your projects to use below SDK's;
Client - Microsoft.NET.Sdk.BlazorWebAssembly
Server - Microsoft.NET.Sdk.Web
Shared - Microsoft.NET.Sdk
I had this issue with a different error message "The type or namespace name 'ApplicationPartAttribute' does not exist in the namespace 'Microsoft.AspNetCore.Mvc.ApplicationParts' (are you missing an assembly reference?)".
In my case I had a shared helper class library that I had started to build generic data api repositories into using Microsoft.AspNetCore.Mvc 2.0 which was referenced in my Blazor project using the newly released .Net 5.
To resolve this, I had to separate the shared class project moving the generic data api elements to a new project which removed the link between .Net 5 Blazor and Microsoft.AspNetCore.Mvc 2.0.