Asp.net core NET core 3.1应用程序中缺少Nuget软件包错误

Asp.net core NET core 3.1应用程序中缺少Nuget软件包错误,asp.net-core,visual-studio-code,nuget-package,nuget-package-restore,Asp.net Core,Visual Studio Code,Nuget Package,Nuget Package Restore,我使用的是VS代码而不是Visual Studio来运行.NET core 3.1 web应用程序。 我有一个.NET core 3.1应用程序。因为我使用的是一台客户端VDI机器(它使用的是Win7SP1操作系统),它当前正在阻止Nuget.Org URL。 因此,作为一种解决方法,我已将所有Nuget包复制到VDI中的一个文件夹中,并更新了Nuget.Config中的路径。 但我还是在走下坡路 “缺少软件包”错误。我的应用程序不直接依赖于这些软件包 下面是我的Nuget.Config文件

我使用的是VS代码而不是Visual Studio来运行.NET core 3.1 web应用程序。

我有一个.NET core 3.1应用程序。因为我使用的是一台客户端VDI机器(它使用的是Win7SP1操作系统),它当前正在阻止Nuget.Org URL。 因此,作为一种解决方法,我已将所有Nuget包复制到VDI中的一个文件夹中,并更新了Nuget.Config中的路径。 但我还是在走下坡路 “缺少软件包”错误。我的应用程序不直接依赖于这些软件包

下面是我的Nuget.Config文件

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources>
    <!-- add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" / -->
    <add key="nuget.org" value="C:\NugetPackageDownloadLocation" / >
  </packageSources>
</configuration>


欢迎提供任何帮助。

Microsoft已放弃对VS2015中“Enable NuGet Package Restore”的支持,您需要进行一些手动更改,以迁移旧解决方案或将该功能添加到新解决方案中。中对新功能进行了详细描述

这里还有一个现有项目的迁移指南(如前所述):

升级时:

  • 不要删除.nuget目录
  • 删除nuget.exe和nuget.targets文件
  • 离开nuget.config
  • 手动清除每个项目文件中对NuGet目标的任何引用。提到的Powershell脚本似乎弊大于利
  • 创建新项目时:

  • 在Visual Studio 2015解决方案中,创建名为.nuget的解决方案目录

  • 创建解决方案目录的实际目录(其中存在.sln文件)并将其命名为.nuget(请注意,解决方案目录与实际文件系统目录不同,即使它们具有相同的名称)

  • 在.nuget目录中创建一个名为nuget.config的文件

  • 将'nuget.config'添加到步骤2中创建的解决方案目录中

  • 在nuget.config文件中放置以下文本:

    
    
  • 此配置文件将允许您将所有包整合到一个位置,这样您的文件系统上就不会有同一个包的20个不同副本。相对路径将根据您的解决方案目录体系结构而改变,但它应该指向所有解决方案共有的目录

    您需要在执行步骤5后重新启动visual studio。在执行此操作之前,Nuget将无法识别更改


    最后,您可能需要使用“Nuget Package Manager for Solutions”卸载然后重新安装这些软件包。我不知道这是我运行的Powershell脚本的副作用,还是只是让Nuget恢复正常运行的一种方法。一旦我完成了所有这些步骤,我复杂的构建体系结构就完美地完成了新软件包的下载当我从TFVC签出项目时。

    您是否尝试过通过CLI添加程序包源?鉴于.NET Core如何处理可传递的依赖关系,获取相对复杂的解决方案所需的所有程序包可能很棘手

    nuget sources Add -Name "MyServer" -Source \\myserver\packages
    

    谢谢。但我正在使用VS Codium作为IDE。Visual Studio在我的组织中被禁止。我可以在我的个人笔记本电脑上运行此应用程序,但当我尝试将其用于客户端VDI时,我面临的问题是,客户端VDI正在阻止Nuget.Org网站,因此我们需要从文件夹访问所有包。希望我的问题清楚。如果需要,请告诉我这似乎是一个场景,您可以在某个地方构建它,以访问传统的Nuget资源,并部署到这个受限的环境中。
    nuget sources Add -Name "MyServer" -Source \\myserver\packages