You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

复制NasaAPI解决方案至仓库后NuGet包丢失,恢复遇错求助

解决NETSDK1004错误:project.assets.json丢失导致NuGet包无法恢复

问题分析

复制解决方案到仓库目录后,已安装的NuGet包丢失,恢复时触发NETSDK1004错误,提示找不到project.assets.json文件。手动安装包要么失败要么提示文件缺失,核心问题是NuGet恢复流程被异常配置或环境问题打断。

解决步骤

1. 清理编译文件后重新恢复

  • 直接删除项目目录下的obj和bin文件夹(这两个是编译生成的临时文件,删除不会影响项目配置)
  • 打开终端,进入项目根目录(存放NasaAPI.csproj的文件夹),执行命令:
    dotnet restore
    
  • 若使用Visual Studio,右键解决方案选择「清理解决方案」,之后再选择「还原NuGet包」

2. 修正.csproj中的错误配置

从你提供的.csproj文件来看,存在两处异常配置:

  • 多余的项目文件引用:<None Include="NasaAPI.csproj" />会把项目文件本身标记为资源文件,严重干扰NuGet恢复流程,直接删除整个对应ItemGroup:
    <ItemGroup>
      <None Include="NasaAPI.csproj" />
    </ItemGroup>
    
  • 重复无效的包引用:Json.Net是Newtonsoft.Json的旧名称,且版本1.0.33无效,删除Json.Net的引用,只保留Newtonsoft.Json。修正后的PackageReference组如下:
    <ItemGroup>
      <PackageReference Include="Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore" Version="6.0.15" />
      <PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="6.0.15" />
      <PackageReference Include="Microsoft.AspNetCore.Identity.UI" Version="6.0.15" />
      <PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="6.0.15" />
      <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="6.0.15" />
      <PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
    </ItemGroup>
    

3. 清理NuGet缓存

如果上述方法无效,大概率是NuGet缓存损坏,执行命令清理缓存:

dotnet nuget locals all --clear

清理完成后再次运行dotnet restore重新恢复包。

4. 检查路径与权限(针对macOS)

你的项目路径包含空格和特殊字符(Test Candidati.Noemi.Pintaldi.dev),macOS下部分工具对这类路径支持不佳,可尝试将项目移动到无空格的目录(比如/Users/noemipintaldi/Desktop/Nasa/NasaAPI/)后再重新恢复。同时检查项目目录的读写权限,确保你拥有修改目录的权限。

内容的提问来源于stack exchange,提问作者Selene_jpg

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 21:17:47