2

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

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

nuget locals -clear all

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

4

1 回答 1

3

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

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

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

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

new NuGetRestoreSettings {
    NoCache = true,
    EnvironmentVariables = new Dictionary<string, string>{
        { "NUGET_PACKAGES", MakeAbsolute(Directory("./some_temp_path")).FullPath }
    }
}
于 2017-03-10T10:54:23.700 回答