无法将WASM发布到IIS

ep6jt1vc  于 2023-05-18  发布在  其他
关注(0)|答案(1)|浏览(188)

.Net 6
VS 2022
我有一个包含API、类容器和WASM应用程序的解决方案。我能够发布API,但是当我尝试发布WASM应用程序时,我收到以下错误:

1>Done building project "ForgeCalculator.Web.csproj".
2>------ Publish started: Project: ForgeCalculator.Web, Configuration: Debug Any CPU ------
Determining projects to restore...
C:\Program Files\dotnet\sdk\7.0.202\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): Error NETSDK1147: To build this project, the following workloads must be installed: wasm-tools-net6
To install these workloads, run the following command: dotnet workload restore
C:\Program Files\dotnet\sdk\7.0.202\Sdks\Microsoft.NET.Sdk\targets\Microsoft.PackageDependencyResolution.targets(266,5): Error NETSDK1004: Assets file 'C:\Users\dtujo\source\repos\ForgeCalculator.Web\ForgeCalculator.Web\obj\publish\browser-wasm\project.assets.json' not found. Run a NuGet package restore to generate this file.

2>Build failed. Check the Output window for more details.
========== Build: 1 succeeded, 0 failed, 1 up-to-date, 0 skipped ==========
========== Build started at 5:07 PM and took 03.533 seconds ==========
========== Publish: 0 succeeded, 1 failed, 0 skipped ==========
========== Publish started at 5:07 PM and took 03.534 seconds ==========

我做了以下工作:已确保安装了wasm-tools-net 6运行dotnet工作负载恢复
当我查看obj文件夹时,我没有看到应该找到project.assets.json的发布文件夹。project.assets.json文件位于object文件夹本身中。

发布设置:

我不知道为什么发布文件夹不在那里,或者当我尝试发布应用程序时,它没有被创建。
工作负载列表:

Dotnet Restore

kgsdhlau

kgsdhlau1#

您得到的错误指示项目缺少依赖项或包,需要安装或还原这些依赖项或包才能成功生成或发布。
您可以使用以下命令查看已安装工作负载的列表,并检查wasm-tools-net 6工作负载是否正确安装。

dotnet workload list

如果缺少,可以使用以下命令进行安装。

dotnet workload install wasm-tools-net6

project.assets.json文件是在NuGet软件包恢复过程中生成的,如果该文件丢失,您需要从Tools > NuGet软件包管理器>软件包管理器控制台修复此错误,只需运行:

dotnet restore

如果“dotnet restore”不起作用,您可以尝试清理解决方案并重建它。

您也可以尝试本帖中提到的其他解决方法:Assets file project.assets.json not found. Run a NuGet package restore
解决方法1

  • Visual Studio >>工具>>选项>> Nuget Manager >>包源
  • 取消选中任何第三方软件包源。
  • 重建解决方案。

解决方法2

  • 工具-> NuGet包管理器->包管理器设置->单击“清除所有NuGet缓存”
  • 网络恢复

解决方法3

  • 选择Tool=>Options=>NuGet Package Manager=> Package Sources,然后取消选中Microsoft Visual Studio Offline Packages Option。
  • 打开Tool=>NuGet Package Maneger=>Package Manager Console。
  • 在PM>dotnet restore中执行命令。

相关问题