我们在没有Internet访问权限的封闭网络上,所以我们目前正在使用文件共享作为NuGet存储库。我们在开发分支和主分支之间进行了大量合并,偶尔会为修补程序或大型功能设置一次性分支,这些分支将超出正常的发布周期。
我们发现当我们将一个NuGet包添加到项目时,它会在.csproj文件中放置一个文件路径,用于包所在的位置。这工作正常,直到我们合并到TFS中的另一个分支,然后开始构建。构建不会从源代码控制中删除相同的文件(在这方面保持dev和main完全分离),因此找不到包路径并且构建失败。
我们已经提出了一个我们知道可行的解决方案,但是非常痛苦,我们需要进一步调查一个提议的解决方案。一种解决方案是将packages文件夹放入每个构建将包含在其工作空间中的公共位置,并手动修改每个.csproj文件以指向其包的位置。
我们需要调查的解决方案是using NuGet without committing packages to source control。我们需要确定的是NuGet.exe是否会创建.csproj文件所需的文件夹结构来查找包。
在使用自动构建的分支环境中使用NuGet是否有更好的解决方案?