【问题标题】:How to avoid Nuget packages getting cached如何避免 Nuget 包被缓存
【发布时间】:2017-03-10 10:32:26
【问题描述】:

在还原 Nuget 包时,这些包被缓存在本地机器中,下次当我想使用最新的 Nuget 包(具有相同版本,但文件已更新)时,将从我的机器中检索旧版本。

我正在使用以下命令清除本地计算机缓存中的 Nuget 包:

nuget locals -clear all

可以阻止 Nuget 包在系统中缓存,而不是这样做。

【问题讨论】:

    标签: continuous-integration nuget nuget-package nuget-package-restore cakebuild


    【解决方案1】:

    是的,使用它可用的nocache 选项

    如果您想 100% 确定可以将 NUGET_PACKAGES 环境变量设置为临时路径,它每次都会在新位置查找和存储。

    当你用 Cake 标记问题时——我猜你正在使用它,NuGetAliases 也用于安装和恢复支持 NoCache。

    要从 Cake 脚本中设置 NUGET_PACKAGES 环境变量,您可以使用适用于所有 Cake 工具的 EnvironmentVariables 属性,包括 NuGetInstallSettingsNuGetRestoreSettings,设置它可能看起来像这样

    new NuGetRestoreSettings {
        NoCache = true,
        EnvironmentVariables = new Dictionary<string, string>{
            { "NUGET_PACKAGES", MakeAbsolute(Directory("./some_temp_path")).FullPath }
        }
    }
    

    【讨论】:

    • @Venkat 这个答案对你有帮助还是你还有问题?
    • 我已使用 NoCache 属性进行恢复设置,但我仍然面临问题
    • 如果您想 100% 确定您可以将 NUGET_PACKAGES 环境变量设置为临时路径,它每次都会在新位置查找和存储。如何使用 cake 脚本实现这一点
    • 你能解释一下吗
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-25
    • 2012-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多