'There was no runtime pack for Microsoft.AspNetCore.App available for the specified RuntimeIdentifier 'browser-wasm'
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 still getting following error:
There was no runtime pack for Microsoft.AspNetCore.App available for the specified RuntimeIdentifier 'browser-wasm'
Project file:
<Project Sdk="Microsoft.NET.Sdk.BlazorWebAssembly">
<PropertyGroup>
<TargetFramework>net5.0</TargetFramework>
<UserSecretsId>*****</UserSecretsId>
</PropertyGroup>
...
Cant find anything asociated with this error. I have no idea where to search for more info.
Thank you for any idea.
Solution 1:[1]
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">
Solution 2:[2]
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.
Solution 3:[3]
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
Solution 4:[4]
In my case I had referenced a project that was referencing Data layer classes and there for was not safe to for Blazor Client side or 'browser-wasm'.
After I removed the reference from Client solution > Dependencies > Projects My solution compiled.
Solution 5:[5]
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.
Solution 6:[6]
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.
- Client -
Microsoft.NET.Sdk.BlazorWebAssembly - Server -
Microsoft.NET.Sdk.Web - Shared -
Microsoft.NET.Sdk
In my case, I had to
- Remove the
<RuntimeIdentifier>browser-wasm</RuntimeIdentifier>and<UseBlazorWebAssembly>true</UseBlazorWebAssembly>. Mentioned here - Remove
Microsoft.AspNetCore.Components.WebAssembly.BuildServerwhich was version 3.xx.xx causing conflicts fromBlazor.ClientProject file.
Solution 7:[7]
I experienced the same issue and discovered the cause to be
<UseAppHost>true</UseAppHost>
which was used in a common Directory.Build.props
By setting this back to false I no longer get the missing browser-wasm error.
Solution 8:[8]
The error gone after comment out reference to the following packages in a project refered by BlazorWASM app,
<!--<PackageReference Include="FluentValidation.AspNetCore" Version="10.3.6" />-->
<!--<PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="6.0.1" />-->
<!--<PackageReference Include="NLog.Web.AspNetCore" Version="4.14.0" />-->
Solution 9:[9]
In a NET 6.0 Blazor app, I managed to get this error by accidently adding these to my Shared project instead of the API project - corrected and problem went away.
<PackageReference Include="Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore" Version="6.0.3" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" PrivateAssets="all" Version="6.0.3" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="6.0.3" />
Solution 10:[10]
I resolved this issue in a way Richard described:
- Cleaned up references to Microsoft.Extensions.Logging, Microsoft.Extensions.Configuration,... packages version 3.2 in all solution projects referenced by server and client
- Updated .Server project
- Updated .Client project. Kept element at target framework section and it worked
<PropertyGroup>
<TargetFramework>net5.0</TargetFramework>
<RazorLangVersion>3.0</RazorLangVersion>
</PropertyGroup>
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
