我有一个包含多个项目的解决方案。大多数第三方引用都缺失了,但是有一些包。每个项目的配置文件。我如何得到NuGet安装/更新所有需要的包?这需要通过命令行为每个项目完成吗?
当前回答
在Visual Studio 2017中-当你使用IDE编译时-它会下载所有缺少的nuget包并保存在文件夹“packages”中。
但是在构建机器上编译是使用msbuild.exe完成的。在这种情况下,我下载了nuget.exe。
在执行msbuild.exe之前的每个构建过程中。它将执行-> nuget.exe restore NAME_OF_SLN_File(如果只有一个. sln文件,则可以忽略该参数)。
其他回答
在Visual Studio 2017中-当你使用IDE编译时-它会下载所有缺少的nuget包并保存在文件夹“packages”中。
但是在构建机器上编译是使用msbuild.exe完成的。在这种情况下,我下载了nuget.exe。
在执行msbuild.exe之前的每个构建过程中。它将执行-> nuget.exe restore NAME_OF_SLN_File(如果只有一个. sln文件,则可以忽略该参数)。
打开包管理器控制台
视图->其他Windows -> Package Manager Console
重新安装当前解决方案all PROJECTS中的所有包:
Update-Package -Reinstall
重新安装当前解决方案的SPECIFIC PROJECT中的所有包(感谢unarity和ashes999):
Update-Package -ProjectName 'YourProjectNameGoesHere' -Reinstall
我知道这是一个老帖子,但我认为这可能有用。如果您需要在更新过程中忽略特定的包(如任何更新JavaScript引用的包),请使用以下PowerShell脚本(确保您的包源在包管理器控制台中设置为“All”):
编辑2014-09-25 10:55 AM EST -修复了脚本中的一个错误
$packagePath = "packages.config"
$projectName = "MyProjectName"
$packagesToIgnore = @(
"bootstrap",
"jQuery",
"jquery-globalize",
"jquery.mobile",
"jQuery.jqGrid",
"jQuery.UI.Combined",
"jQuery.Validation",
"Microsoft.jQuery.Unobtrusive.Validation",
"Modernizr",
"Moment.js"
)
[xml]$packageFile = gc $packagePath
$packagesToProcess = $packageFile.packages.package | Where-Object {$packagesToIgnore -notcontains $_.id}
$packagesToProcess | % { Update-Package -reinstall -projectname $projectName -id $($_.id) }
在最新的NuGet 2.5版本中,包管理器中现在有一个“更新全部”按钮:http://docs.nuget.org/docs/release-notes/nuget-2.5#Update_All_button_to_allow_updating_all_packages_at_once
如果您安装了Nuget 2.8,请选中复选框
Tools >> Nuget Manager >> Package Manager Settings >> Automatically check for missing packages during build
在Visual Studio。如果选中该选项,则只需重新构建项目即可恢复所有参考库。
推荐文章
- Nuget连接尝试失败“无法为源加载服务索引”
- 重新定位解决方案从。net 4.0到4.5 -如何重新定位NuGet包?
- 如何在解决方案中找到未使用的NuGet包?
- 获取“项目”核配置无效错误
- 如何在Visual Studio中启用NuGet包恢复?
- 系统。方法未找到?
- 是否可以更改NuGet包的位置?
- 缺少NuGet包
- 让TFS忽略我的包文件夹
- 如何通过NuGet安装旧版本的包?
- 该项目引用了这台计算机上缺少的NuGet包
- 资产文件project.assets.json未找到。运行NuGet包恢复
- 如何使用命令行清除NuGet包缓存?
- 如何在本地安装NuGet包. nuupkg文件?
- 如何获得NuGet来安装/更新packages.config中的所有包?