我使用 dotnetpublish 将 Blazor WebAssembly 托管应用程序部署到 IIS:
location of server project> dotnet publish -c Release -r win-x64 --self-contained false --output {AppDir}
但我收到此错误:
C:\Users\..\.nuget\packages\microsoft.net.sdk.webassembly.pack\8.0.0\build\Microsoft.NET.Sdk.WebAssembly.Browser.tar
gets(231,5): error WASM0005: Unable to resolve WebAssembly runtime pack version [C:\Users\..\Desktop\BlazorHosted\Bl
azorHosted\Client\BlazorHosted.Client.csproj]
如何纠正这个问题?
编辑 由于我在更大的 .Net 8.0 项目上遇到此错误,因此我使用 .Net 7.0 创建了一个测试 WebAssembly 托管项目,但是我在包管理器中看到 webAssembly.pack 版本是 8.0,而我将此项目创建为 7.0,错误是相同:
EDIT2 我更新了我的 Visual Studio 2022,使用新创建的 WebAssembly 项目,现在 .net 8.0.2 发生错误:
C:\Users\..\Desktop\BlazorHosted3\BlazorHosted3\Server>dotnet publish
-c Release -r win-x64 --self-contained false
MSBuild version 17.9.4+90725d08d for .NET Determining projects to restore...
Restored C:\Users\..\Desktop\BlazorHosted3\BlazorHosted3\Client\BlazorHosted3.Client.csproj (in 1.66 sec).
2 of 3 projects are up-to-date for restore.
BlazorHosted3.Shared -> C:\Users\..\Desktop\BlazorHosted3\BlazorHosted3\Shared\bin\Release\net7.0\BlazorHosted3.Sh ared.dll
C:\Users\..\.nuget\packages\microsoft.net.sdk.webassembly.pack\8.0.2\build\Microsoft.NET.Sdk.WebAssembly.Browser.tar gets(231,5):
error WASM0005: Unable to resolve WebAssembly runtime pack version [C:\Users\..\Desktop\BlazorHosted3\B lazorHosted3\Client\BlazorHosted3.Client.csproj]
在提到的(错误)文件中:
<Target Name="_GetWasmRuntimePackVersion">
<PropertyGroup>
<_WasmRuntimePackVersion>%(ResolvedRuntimePack.NuGetPackageVersion)</_WasmRuntimePackVersion>
</PropertyGroup>
<Error Code="WASM0005" Text="Unable to resolve WebAssembly runtime pack version" Condition="'$(_WasmRuntimePackVersion)' == ''" />
</Target>
我删除了
-c Release -r win-x64 --self-contained false
并使用以下命令:
dotnet publish --output {AppDir}
发布成功,无错误。