Microsoft.AspNetCore.App 没有可用于指定 RuntimeIdentifier 'browser-wasm' 的运行时包
There was no runtime pack for Microsoft.AspNetCore.App available for the specified RuntimeIdentifier 'browser-wasm'
尝试使用 Microsoft 提供的 guide 从 ASP.NET Core 3.1 迁移到 5.0。
已安装带有运行时的 SDK 5.0.100-rc.1。按照指南所述更新了项目,但仍然出现以下错误:
There was no runtime pack for Microsoft.AspNetCore.App available for the specified RuntimeIdentifier 'browser-wasm'
项目文件:
<Project Sdk="Microsoft.NET.Sdk.BlazorWebAssembly">
<PropertyGroup>
<TargetFramework>net5.0</TargetFramework>
<UserSecretsId>*****</UserSecretsId>
</PropertyGroup>
...
找不到与此错误相关的任何内容。我不知道去哪里搜索更多信息。
谢谢你的想法。
我终于成功了。
我做了 guide 所说的一切,除了我更改为这个的项目文件:
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>net5.0</TargetFramework>
<UserSecretsId>*****</UserSecretsId>
<UseBlazorWebAssembly>true</UseBlazorWebAssembly>
</PropertyGroup>
...
但我不知道 official upgrade guide 说使用时是否正确:
<Project Sdk="Microsoft.NET.Sdk.BlazorWebAssembly">
而不是:
<Project Sdk="Microsoft.NET.Sdk.Web">
遇到了同样的问题,终于成功了。方法如下。
就我而言,错误不是 Blazor 项目 本身的结果,而是同一解决方案中的 引用项目 .引用的项目以 .net 标准 2.1 为目标,它本身应该没问题;但是,它还安装了一些可能与 Blazor 依赖项冲突的 NuGet 包:(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)
blog post about .net 5 rc 提到 Blazor 项目 中的所有 Microsoft.Extensions.* 包应该更新到 5.0.0-rc.1.*.
能够通过删除项目依赖项来解决问题(我一开始不需要,但不小心放在了那里)。
我不明白的是,为什么 'dotnet build' 没有给出有关冲突的可理解错误消息,而是给出有关提到 Blazor 项目的运行时标识符的模糊消息.
希望这对其他人也有帮助。
我遇到了不同的错误消息“类型或命名空间名称 'ApplicationPartAttribute' 在命名空间 'Microsoft.AspNetCore.Mvc.ApplicationParts' 中不存在(是否缺少程序集引用?)”。
在我的例子中,我有一个共享助手 class 库,我已经开始使用 Microsoft.AspNetCore.Mvc 2.0 构建通用数据 api 存储库,它在我的 Blazor 项目中使用新发布的 .Net 5.
为了解决这个问题,我不得不分离共享的 class 项目,将通用数据 api 元素移动到一个新项目,该项目删除了 .Net 5 Blazor 和 Microsoft.AspNetCore.Mvc 2.0.
我按照 Richard 描述的方式解决了这个问题:
- 清除了对 Microsoft.Extensions.Logging、Microsoft.Extensions.Configuration、...包版本 3.2 的引用,在服务器和客户端引用的所有解决方案项目中
- 已更新 .Server 项目
- 已更新 .Client 项目。
将元素保留在目标框架部分并且有效
<PropertyGroup>
<TargetFramework>net5.0</TargetFramework>
<RazorLangVersion>3.0</RazorLangVersion>
</PropertyGroup>
我遇到了同样的问题,并在 post 下询问了微软:
https://github.com/dotnet/aspnetcore/issues/27738
您需要更新项目才能使用以下 SDK;
Client - Microsoft.NET.Sdk.BlazorWebAssembly
Server - Microsoft.NET.Sdk.Web
Shared - Microsoft.NET.Sdk
感谢您的帮助,就我而言,我必须按照@Kasta 和官方指南中提到的后续步骤进行操作。
我确保以下 SDK 更改已到位,谢谢@OzanYasinDogan 提到这有帮助。
- 客户 -
Microsoft.NET.Sdk.BlazorWebAssembly
- 服务器 -
Microsoft.NET.Sdk.Web
- 共享 -
Microsoft.NET.Sdk
就我而言,我不得不
- 删除
<RuntimeIdentifier>browser-wasm</RuntimeIdentifier>
和
<UseBlazorWebAssembly>true</UseBlazorWebAssembly>
。
Mentioned here
- 从
Blazor.Client
项目文件中删除导致冲突的 Microsoft.AspNetCore.Components.WebAssembly.BuildServer
版本 3.xx.xx。
在我的例子中,我引用了一个引用数据层的项目 类 并且对于 Blazor 客户端或 'browser-wasm'.
来说是不安全的
从客户端解决方案 > 依赖关系 > 项目中删除引用后
我的解决方案已编译。
我遇到了同样的问题,发现原因是
<UseAppHost>true</UseAppHost>
这是一个常用的Directory.Build.props
通过将其设置回 false,我不再收到丢失的 browser-wasm
错误。
在 BlazorWASM 应用程序引用的项目中注释掉对以下包的引用后错误消失,
<!--<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" />-->
在 NET 6.0 Blazor 应用程序中,我通过不小心将这些添加到我的共享项目而不是 API 项目而设法得到这个错误 - 已更正并且问题消失了。
<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" />
尝试使用 Microsoft 提供的 guide 从 ASP.NET Core 3.1 迁移到 5.0。
已安装带有运行时的 SDK 5.0.100-rc.1。按照指南所述更新了项目,但仍然出现以下错误:
There was no runtime pack for Microsoft.AspNetCore.App available for the specified RuntimeIdentifier 'browser-wasm'
项目文件:
<Project Sdk="Microsoft.NET.Sdk.BlazorWebAssembly">
<PropertyGroup>
<TargetFramework>net5.0</TargetFramework>
<UserSecretsId>*****</UserSecretsId>
</PropertyGroup>
...
找不到与此错误相关的任何内容。我不知道去哪里搜索更多信息。
谢谢你的想法。
我终于成功了。
我做了 guide 所说的一切,除了我更改为这个的项目文件:
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>net5.0</TargetFramework>
<UserSecretsId>*****</UserSecretsId>
<UseBlazorWebAssembly>true</UseBlazorWebAssembly>
</PropertyGroup>
...
但我不知道 official upgrade guide 说使用时是否正确:
<Project Sdk="Microsoft.NET.Sdk.BlazorWebAssembly">
而不是:
<Project Sdk="Microsoft.NET.Sdk.Web">
遇到了同样的问题,终于成功了。方法如下。
就我而言,错误不是 Blazor 项目 本身的结果,而是同一解决方案中的 引用项目 .引用的项目以 .net 标准 2.1 为目标,它本身应该没问题;但是,它还安装了一些可能与 Blazor 依赖项冲突的 NuGet 包:(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)
blog post about .net 5 rc 提到 Blazor 项目 中的所有 Microsoft.Extensions.* 包应该更新到 5.0.0-rc.1.*.
能够通过删除项目依赖项来解决问题(我一开始不需要,但不小心放在了那里)。
我不明白的是,为什么 'dotnet build' 没有给出有关冲突的可理解错误消息,而是给出有关提到 Blazor 项目的运行时标识符的模糊消息.
希望这对其他人也有帮助。
我遇到了不同的错误消息“类型或命名空间名称 'ApplicationPartAttribute' 在命名空间 'Microsoft.AspNetCore.Mvc.ApplicationParts' 中不存在(是否缺少程序集引用?)”。
在我的例子中,我有一个共享助手 class 库,我已经开始使用 Microsoft.AspNetCore.Mvc 2.0 构建通用数据 api 存储库,它在我的 Blazor 项目中使用新发布的 .Net 5.
为了解决这个问题,我不得不分离共享的 class 项目,将通用数据 api 元素移动到一个新项目,该项目删除了 .Net 5 Blazor 和 Microsoft.AspNetCore.Mvc 2.0.
我按照 Richard 描述的方式解决了这个问题:
- 清除了对 Microsoft.Extensions.Logging、Microsoft.Extensions.Configuration、...包版本 3.2 的引用,在服务器和客户端引用的所有解决方案项目中
- 已更新 .Server 项目
- 已更新 .Client 项目。 将元素保留在目标框架部分并且有效
<PropertyGroup>
<TargetFramework>net5.0</TargetFramework>
<RazorLangVersion>3.0</RazorLangVersion>
</PropertyGroup>
我遇到了同样的问题,并在 post 下询问了微软: https://github.com/dotnet/aspnetcore/issues/27738
您需要更新项目才能使用以下 SDK;
Client - Microsoft.NET.Sdk.BlazorWebAssembly
Server - Microsoft.NET.Sdk.Web
Shared - Microsoft.NET.Sdk
感谢您的帮助,就我而言,我必须按照@Kasta 和官方指南中提到的后续步骤进行操作。
我确保以下 SDK 更改已到位,谢谢@OzanYasinDogan 提到这有帮助。
- 客户 -
Microsoft.NET.Sdk.BlazorWebAssembly
- 服务器 -
Microsoft.NET.Sdk.Web
- 共享 -
Microsoft.NET.Sdk
就我而言,我不得不
- 删除
<RuntimeIdentifier>browser-wasm</RuntimeIdentifier>
和<UseBlazorWebAssembly>true</UseBlazorWebAssembly>
。 Mentioned here - 从
Blazor.Client
项目文件中删除导致冲突的Microsoft.AspNetCore.Components.WebAssembly.BuildServer
版本 3.xx.xx。
在我的例子中,我引用了一个引用数据层的项目 类 并且对于 Blazor 客户端或 'browser-wasm'.
来说是不安全的从客户端解决方案 > 依赖关系 > 项目中删除引用后 我的解决方案已编译。
我遇到了同样的问题,发现原因是
<UseAppHost>true</UseAppHost>
这是一个常用的Directory.Build.props
通过将其设置回 false,我不再收到丢失的 browser-wasm
错误。
在 BlazorWASM 应用程序引用的项目中注释掉对以下包的引用后错误消失,
<!--<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" />-->
在 NET 6.0 Blazor 应用程序中,我通过不小心将这些添加到我的共享项目而不是 API 项目而设法得到这个错误 - 已更正并且问题消失了。
<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" />