我创建了一个简单的blazor项目托管选项被选中。在项目的客户端,它会自动随<Project Sdk="Microsoft.NET.Sdk.BlazorWebAssembly">
一起出现。然后,在编写任何代码之前,我添加了一些nuget包,当我清理解决方案,甚至重新构建解决方案时,它会给出错误:
error NETSDK1082:对于指定的RuntimeIdentifier 'browser-wasm‘,没有可用的运行时包。
我查看了它,发现解决这个问题的一个解决方案是将.csproj
中的第一行更改为<Project Sdk="Microsoft.NET.Sdk.Web">
,而不是默认情况下它附带的内容。我这样做了,但是当我只运行客户机时,上面写着404。然后,如果我删除额外的包并将其放回默认的sdk中,它就能工作了。有什么原因让我在这些包中出现这个错误吗?我创建了一个由.net 6托管的blazor项目。
我的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>
发布于 2021-12-04 05:53:54
不仅是.csproject
,而且还检查project.assets.json
。通常,罪魁祸首是非web程序集兼容的软件包。更简单的方法是检查您的NuGet依赖项并验证您的第三方包是否与WebAssembly兼容。
https://github.com/dotnet/aspnetcore/issues/36711#issuecomment-922801873
https://stackoverflow.com/questions/70220739
复制相似问题