我创建了一个简单的 blazor wa 项目,并选择了托管选项。在项目的客户端,它自动附带<Project Sdk="Microsoft.NET.Sdk.BlazorWebAssembly">
。然后,我在编写任何代码之前添加了一些 nuget 包,当我清理解决方案甚至重建解决方案时,它给了我错误:
错误 NETSDK1082:没有可用于指定 RuntimeIdentifier“browser-wasm”的 Microsoft.AspNetCore.App 运行时包。
我查了一下,发现解决这个问题的一个方法是更改第一行.csproj
to <Project Sdk="Microsoft.NET.Sdk.Web">
而不是默认情况下附带的内容。我这样做了,但是当我只运行客户端时,它显示 404。然后,如果我删除额外的软件包并将其放回默认的 sdk,它就可以工作。我在使用这些软件包时遇到此错误是否有原因?顺便说一句,我创建了一个 blazor wa 托管的 .net 6 项目。
我的客户端.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 https://github.com/dotnet/aspnetcore/issues/36711#issuecomment-922801873
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)