如何设置 TFS NuGet 还原以从 sln 文件中获取所有需要的版本?
How to set TFS NuGet restore to take all the needed version from sln file?
我正在使用 TFS 步骤来恢复我的 NuGet 包。
在 "Path to solution or packages.config" 字段中,我设置了 sln 文件的路径。
我遇到的问题是在我的解决方案中我有 2 个项目:
项目 "A" 引用 "commom.package" 版本 1.1 和
项目 "B" 引用 "commom.package" 版本 1.3
恢复步骤后,我只在包目录中获得 1.3 版本,在项目 "A" 编译后,我可以在 "bin\release" 文件夹中看到它是 使用 1.3 版本而不是 1.1.
我该如何解决这个问题?我是否需要为解决方案中的每个项目设置恢复 - 即每个 package.config 文件?
nuget restore task 只是使用 nuget.exe
命令来恢复包。如果在本地使用nuget.exe
命令,也会得到同样的结果。 Package.conifg
是项目级别,不是解决方案级别。所以如果你直接恢复这种情况下的解决方案,它只会得到一个适用于两个项目的1.3版本。
但是在 VS 中,有一个选项 在 Visual Studio 的构建过程中自动检查丢失的包。您将在 VS 还原中同时获得版本 1.1 和 1.3。
要解决此问题,您必须为每个 package.config 个文件 设置恢复。与恢复整个解决方案不同,您还需要在任务的 NuGet 参数中使用 -PackagesDirectory
。
我正在使用 TFS 步骤来恢复我的 NuGet 包。 在 "Path to solution or packages.config" 字段中,我设置了 sln 文件的路径。 我遇到的问题是在我的解决方案中我有 2 个项目:
项目 "A" 引用 "commom.package" 版本 1.1 和
项目 "B" 引用 "commom.package" 版本 1.3
恢复步骤后,我只在包目录中获得 1.3 版本,在项目 "A" 编译后,我可以在 "bin\release" 文件夹中看到它是 使用 1.3 版本而不是 1.1.
我该如何解决这个问题?我是否需要为解决方案中的每个项目设置恢复 - 即每个 package.config 文件?
nuget restore task 只是使用 nuget.exe
命令来恢复包。如果在本地使用nuget.exe
命令,也会得到同样的结果。 Package.conifg
是项目级别,不是解决方案级别。所以如果你直接恢复这种情况下的解决方案,它只会得到一个适用于两个项目的1.3版本。
但是在 VS 中,有一个选项 在 Visual Studio 的构建过程中自动检查丢失的包。您将在 VS 还原中同时获得版本 1.1 和 1.3。
要解决此问题,您必须为每个 package.config 个文件 设置恢复。与恢复整个解决方案不同,您还需要在任务的 NuGet 参数中使用 -PackagesDirectory
。