Blazor 客户端 - 错误 NETSDK1082:'browser-wasm'
Blazor Client - error NETSDK1082: 'browser-wasm'
我创建了一个简单的 blazor wa 项目,选择了托管选项。在项目的client端它自动自带<Project Sdk="Microsoft.NET.Sdk.BlazorWebAssembly">
。然后我在编写任何代码之前添加了一些 nuget 包,当我清理解决方案甚至重建解决方案时它给了我错误:
error NETSDK1082: There was no runtime pack for Microsoft.AspNetCore.App available for the specified RuntimeIdentifier 'browser-wasm'.
我查了一下,发现一个解决方案是将 .csproj
中的第一行更改为 <Project Sdk="Microsoft.NET.Sdk.Web">
而不是默认情况下附带的内容。我这样做了,但是当我 运行 只是客户端时,它说 404。然后,如果我删除额外的包并将其放回默认的 sdk,它就可以工作。这些软件包出现此错误是有原因的吗?我顺便创建了一个 blazor wa 托管的 .net 6 项目。
我的client.csproj
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Blazored.LocalStorage" Version="4.1.5" />
<PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="5.0.12" />
<PackageReference Include="Microsoft.AspNetCore.Authentication.OpenIdConnect" Version="6.0.0" />
<PackageReference Include="Microsoft.AspNetCore.Components.ProtectedBrowserStorage" Version="5.0.0-rc.1.20451.17" />
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly" Version="6.0.0" />
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.DevServer" Version="6.0.0" PrivateAssets="all" />
<PackageReference Include="Microsoft.Identity.Web" Version="1.21.0" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
<PackageReference Include="RestSharp" Version="106.13.0" />
</ItemGroup>
</Project>
不仅 .csproject
还要检查 project.assets.json
。通常罪魁祸首是非 Web 程序集兼容包。更简单的方法是检查您的 NuGet 依赖项并验证您的第三方包是否与 WebAssembly
兼容
https://github.com/dotnet/aspnetcore/issues/36711#issuecomment-922801873
我创建了一个简单的 blazor wa 项目,选择了托管选项。在项目的client端它自动自带<Project Sdk="Microsoft.NET.Sdk.BlazorWebAssembly">
。然后我在编写任何代码之前添加了一些 nuget 包,当我清理解决方案甚至重建解决方案时它给了我错误:
error NETSDK1082: There was no runtime pack for Microsoft.AspNetCore.App available for the specified RuntimeIdentifier 'browser-wasm'.
我查了一下,发现一个解决方案是将 .csproj
中的第一行更改为 <Project Sdk="Microsoft.NET.Sdk.Web">
而不是默认情况下附带的内容。我这样做了,但是当我 运行 只是客户端时,它说 404。然后,如果我删除额外的包并将其放回默认的 sdk,它就可以工作。这些软件包出现此错误是有原因的吗?我顺便创建了一个 blazor wa 托管的 .net 6 项目。
我的client.csproj
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Blazored.LocalStorage" Version="4.1.5" />
<PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="5.0.12" />
<PackageReference Include="Microsoft.AspNetCore.Authentication.OpenIdConnect" Version="6.0.0" />
<PackageReference Include="Microsoft.AspNetCore.Components.ProtectedBrowserStorage" Version="5.0.0-rc.1.20451.17" />
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly" Version="6.0.0" />
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.DevServer" Version="6.0.0" PrivateAssets="all" />
<PackageReference Include="Microsoft.Identity.Web" Version="1.21.0" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
<PackageReference Include="RestSharp" Version="106.13.0" />
</ItemGroup>
</Project>
不仅 .csproject
还要检查 project.assets.json
。通常罪魁祸首是非 Web 程序集兼容包。更简单的方法是检查您的 NuGet 依赖项并验证您的第三方包是否与 WebAssembly
https://github.com/dotnet/aspnetcore/issues/36711#issuecomment-922801873