【发布时间】:2014-11-01 13:33:11
【问题描述】:
我们有一个复杂的 Visual Studio 解决方案,其中项目引用不同版本的相同 NuGet 包。
我觉得这是一种不好的做法,因为可能会导致 dll 地狱
那么 - 有没有办法控制这个?
理想情况下,它应该是以下任何一个的一部分:
- 解决方案构建
- TFS 门控签到
- 使用任何 CI\CD 工具的交付管道。
我真的很喜欢Package Manager Console Powershell Reference。但我找不到在 VS 之外的外部 Powershell 脚本中使用这些 cmdlet(Get-Package 和 Get-Project -All)的方法。
我看到的最简单的解决方案是编写一个自定义 Powershell 脚本,该脚本读取 .sln 文件,获取所有项目并为每个项目读取 packages.config 和从那里获取所有 nuget 包版本。
或者...使用VS DTE来简化这项工作,但到目前为止我还没有使用它的经验。
然后......一旦我们有了这个脚本 - 我们就可以在 CI 中运行它。
有没有更简单\更标准的方式来做到这一点?
【问题讨论】:
标签: visual-studio powershell tfs continuous-integration nuget