Visual studio Visual Studio+;nuget+;TFS:签入nuget包?

Visual studio Visual Studio+;nuget+;TFS:签入nuget包?,visual-studio,tfs,nuget,Visual Studio,Tfs,Nuget,我和一个小团队在做一个TFS项目。这个项目安装了大量的nuget软件包,但它是针对4.0项目的,nuget软件包管理器GUI甚至不再提供这些软件包的旧版本,因为现在正在使用它们的4.5等效版本。为了允许其他团队成员编译项目,他们需要拥有包的确切版本。我想签入nuget使用的整个“packages”文件夹。这是个好主意吗?如果是这样,如何签入“packages”文件夹及其所有内容,因为它存在于解决方案级别?在Visual Studio中没有“包含在解决方案中”选项,就像右键单击程序集时一样。过去,

我和一个小团队在做一个TFS项目。这个项目安装了大量的nuget软件包,但它是针对4.0项目的,nuget软件包管理器GUI甚至不再提供这些软件包的旧版本,因为现在正在使用它们的4.5等效版本。为了允许其他团队成员编译项目,他们需要拥有包的确切版本。我想签入nuget使用的整个“packages”文件夹。这是个好主意吗?如果是这样,如何签入“packages”文件夹及其所有内容,因为它存在于解决方案级别?在Visual Studio中没有“包含在解决方案中”选项,就像右键单击程序集时一样。

过去,我还将NuGet软件包签入到版本控制中。由此出现了一些问题:

  • 从Visual Studio提交到TFS时未签入版本控制的某些包
  • 更新软件包成了一个真正的问题
  • 对于第一个问题,我使用了。这个解决方案的问题是每个开发人员都需要安装电动工具


    更好的解决方案是NuGet 2.7。它介绍了。使用包还原,无需签入包文件夹。它们将在生成过程中被还原。

    我们使用的是不带internet访问的on-prem TFS安装,因此我们必须签入包文件夹,否则生成将失败。最大的问题是,VS在为新包文件添加挂起的更改时表现不一致,通常它会忽略挂起的更改窗口中的.dll文件,有时它会添加所有内容。

    只要旧包在服务器上,nuget包管理器就应该下载它。据我所知,如果nuget服务器上至少有一个下载包,则不允许从该服务器上删除该包。