关于堆栈有一个类似的帖子,但它可能对我的问题没有帮助,因为我使用的是Visual Studio 2015。

如何在VS2015中显示“启用NuGet包恢复”选项?

我选择文件>新项目,并创建一个空ASP。NET Web应用程序。我在找这个菜单项。

我应该提到,我已经在我的项目文件夹中寻找任何预先存在的nuGet文件,没有。


当前回答

包管理器控制台(Visual Studio, Tools > NuGet包管理器>包管理器控制台):运行Update-Package -重装-ProjectName命令,其中是在解决方案资源管理器中显示的受影响项目的名称。使用Update-Package -重装自行恢复解决方案中的所有包。看到更新包。如果需要,还可以重新安装单个包。

从https://learn.microsoft.com/en-us/nuget/quickstart/restore

其他回答

微软已经在VS2015中放弃了对“启用NuGet包恢复”的支持,你需要做一些手动更改来迁移旧的解决方案或将该功能添加到新的解决方案中。这个新特性在NuGet包还原中有很好的描述。

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

当升级:

不要删除。nuget目录。 删除nuget.exe和nuget.exe。目标文件。 保留nuget.config。 手动清除每个项目文件中对NuGet目标的任何引用。上面提到的Powershell脚本似乎弊大于利。

创建新项目时:

In your Visual Studio 2015 solution, create a Solution Directory called .nuget. Create an actual directory of the solution directory (where the .sln file lives) and call it .nuget (note that the solution directory is not the same as the actual file system directory even though they have the same name). Create a file in the .nuget directory called nuget.config. Add the 'nuget.config' to the solution directory created in step #2. Place the following text in the nuget.config file: <?xml version="1.0" encoding="utf-8"?> <configuration> <config> <add key="repositorypath" value="$\..\..\..\..\Packages" /> </config> <solution> <add key="disableSourceControlIntegration" value="true" /> </solution> </configuration>

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

在执行步骤5后,需要重新启动visual studio。除非你这样做,否则Nuget不会发现这些变化。

最后,您可能必须使用“Nuget包管理器的解决方案”卸载,然后重新安装包。我不知道这是否是我运行的Powershell脚本的副作用,或者只是踢NuGet回到齿轮的方法。当我完成了所有这些步骤后,当我从TFVC签出项目时,我复杂的构建体系结构完美地运行了新的包。

对于.NET核心项目,在NuGet包管理器控制台中运行dotnet restore或dotnet build命令(会自动运行恢复)

您可以从运行控制台

> NuGet包管理器>包管理器控制台

更简单的是,在解决方案中添加一个. Nuget文件夹,然后就会出现“还原Nuget包”(不确定是否需要Nuget .exe才能正常工作)。

去visual studio的参考,看看哪些包丢失了。 现在在可视化中右键单击解决方案,然后在文件资源管理器中单击打开的文件夹。 现在打开包文件夹,删除丢失的包文件夹。 打开visual studio并构建解决方案。所有丢失的包都将被恢复。 如果我帮忙了,请把这个标记为答案。

帮助我通过工具>>> Nuget包管理>>>一般然后勾选选项允许Nuget下载丢失的包和自动检查丢失的包在visual studio中构建。