【发布时间】:2021-12-03 21:12:17
【问题描述】:
我创建了一个简单的 blazor wa 项目托管选项。在项目的客户端中,它会自动带有<Project Sdk="Microsoft.NET.Sdk.BlazorWebAssembly">。然后,我在编写任何代码之前添加了一些 nuget 包,当我清理解决方案甚至重建解决方案时,它给了我错误:
错误 NETSDK1082:没有可用于指定 RuntimeIdentifier 'browser-wasm' 的 Microsoft.AspNetCore.App 运行时包。
我查了一下,发现一个解决方案是将.csproj 中的第一行更改为<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>
【问题讨论】:
-
逐个删除软件包,直到找到罪魁祸首。其中之一几乎肯定不兼容 6.0。对于 WASM,项目应该是 Microsoft.NET.Sdk.BlazorWebAssembly。
-
谢谢,是的,我做到了,发现有些软件包不兼容。
标签: c# blazor blazor-webassembly