【发布时间】:2021-09-30 14:21:36
【问题描述】:
我创建了两个全新的项目,即 Blazor Web 程序集,但没有选中 ASP.NET Core 托管 选项,因为我不想创建另外两个已创建的项目。随后是一个全新的 ASP.NET Core Web API 项目。创建此项目并编写任何代码后,我将一些 nuget 包添加到我计划使用的 web api 项目中。然后我展开 Blazor Web Assembly 项目并右键单击 Dependencies,单击 Add Project Reference 并选择我的 Web API 项目。然后在构建这两个项目时,web api 通过并且 blazor web 程序集由于Error NETSDK1082 而失败。确切的错误如下所示。
C:\Program Files\dotnet\sdk\6.0.100-preview.3.21202.5\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.FrameworkReferenceResolution.targets(391,5):错误 NETSDK1082 : 没有可用于指定 RuntimeIdentifier 'browser-wasm' 的 Microsoft.AspNetCore.App 运行时包。
我在网上查找了该错误并尝试了在<PropertyGroup> 部分之间将两行代码添加到我的.csproj 文件中的解决方案,但即使在添加后它也失败了。我什至删除了 obj 文件夹并重建了 blazor 项目,但它产生了同样的错误。
<RuntimeIdentifier>browser-wasm</RuntimeIdentifier>
<UseBlazorWebAssembly>true</UseBlazorWebAssembly>
Blazor Web Assembly Project:
<Project Sdk="Microsoft.NET.Sdk.BlazorWebAssembly">
<PropertyGroup>
<TargetFramework>net5.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly" Version="5.0.10" />
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.DevServer" Version="5.0.10" PrivateAssets="all" />
<PackageReference Include="System.Net.Http.Json" Version="5.0.0" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\PolkWebAPI\PolkWebAPI.csproj" />
</ItemGroup>
</Project>
ASP.NET Core Web API Project:
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>net5.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="5.0.10" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="5.0.10">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="Swashbuckle.AspNetCore" Version="6.2.2" />
<PackageReference Include="System.Configuration.ConfigurationManager" Version="5.0.0" />
</ItemGroup>
</Project>
我没有向任何项目添加任何代码,我只是将一些 nuget 包安装到 web api 项目,并将项目引用添加到产生错误的 blazor web 程序集。
跟进请求:
在project.assets.json 文件中,我看到另外两个部分包括browser-wasm:
"downloadDependencies": [
{
"name": "Microsoft.NETCore.App.Runtime.browser-wasm",
"version": "[5.0.4, 5.0.4]"
}
],
"frameworkReferences": {
"Microsoft.NETCore.App": {
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\6.0.100-preview.3.21202.5\\RuntimeIdentifierGraph.json"
}
},
"runtimes": {
"browser-wasm": {
"#import": []
}
}
你说的是哪个部分要手动卸载每个 nuget 包?
【问题讨论】:
标签: c# asp.net-core-webapi blazor-webassembly