关于堆栈有一个类似的帖子,但它可能对我的问题没有帮助,因为我使用的是Visual Studio 2015。
如何在VS2015中显示“启用NuGet包恢复”选项?
我选择文件>新项目,并创建一个空ASP。NET Web应用程序。我在找这个菜单项。
我应该提到,我已经在我的项目文件夹中寻找任何预先存在的nuGet文件,没有。
关于堆栈有一个类似的帖子,但它可能对我的问题没有帮助,因为我使用的是Visual Studio 2015。
如何在VS2015中显示“启用NuGet包恢复”选项?
我选择文件>新项目,并创建一个空ASP。NET Web应用程序。我在找这个菜单项。
我应该提到,我已经在我的项目文件夹中寻找任何预先存在的nuGet文件,没有。
当前回答
花了很长时间,但我最终找到了这个关于将msbuild集成解决方案迁移到自动包恢复的文档,我能够使用这里描述的方法解决这个问题。
去掉'。Nuget的解决方案目录从解决方案 删除对nuget的所有引用。目标从你的。csproj或。vbproj文件。虽然不受官方支持,但如果您有很多需要清理的项目,该文档会链接到一个PowerShell脚本。我手动编辑了我的,所以我不能就我的体验给出任何反馈。
当你手动编辑你的文件时,下面是你要找的:
方案文件(.sln)
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".nuget", ".nuget", "{F4AEBB8B-A367-424E-8B14-F611C9667A85}"
ProjectSection(SolutionItems) = preProject
.nuget\NuGet.Config = .nuget\NuGet.Config
.nuget\NuGet.exe = .nuget\NuGet.exe
.nuget\NuGet.targets = .nuget\NuGet.targets
EndProjectSection
EndProject
项目文件(。Csproj / .vbproj)
<Import Project="$(SolutionDir)\.nuget\NuGet.targets" Condition="Exists('$(SolutionDir)\.nuget\NuGet.targets')" />
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('$(SolutionDir)\.nuget\NuGet.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\.nuget\NuGet.targets'))" />
</Target>
其他回答
这个方法对我很有效:
关闭VS2015 在VS2013中临时打开解决方案,并通过右键单击解决方案启用nuget包恢复(我也做了一个重建,但我怀疑这是不需要的)。 关闭VS2013 在VS2015中重新打开解决方案
你现在已经在VS2015中启用了nuget包恢复。
如果所有这些都失败了(或者在此之前),您可能需要检查并查看NuGet是否是包源代码。我安装了VS2017,默认情况下它不在那里。我觉得有点奇怪。
工具- NuGet包管理器-包管理器设置 点击对话框左侧导航的“包源”。 使用加号(+)添加Nuget URL: https://api.nuget.org/v3/index.json
我想对于asp.net 4项目,我们将转向自动恢复,所以不需要这样做。对于较老的项目,我认为需要进行一些转换。
http://docs.nuget.org/docs/workflows/migrating-to-automatic-package-restore
包管理器控制台(Visual Studio, Tools > NuGet包管理器>包管理器控制台):运行Update-Package -重装-ProjectName命令,其中是在解决方案资源管理器中显示的受影响项目的名称。使用Update-Package -重装自行恢复解决方案中的所有包。看到更新包。如果需要,还可以重新安装单个包。
从https://learn.microsoft.com/en-us/nuget/quickstart/restore
如果你有任何问题或缺少任何包,你可以简单地右键单击你的项目,选择“管理NuGet包的解决方案…”。点击后,屏幕会打开,你会看到一个菜单栏上写着“还原”:
单击它,所需的软件包将自动安装。 我相信这就是你要找的,这解决了我的问题。