【问题标题】:Managing Telerik .NET references in a Git environment在 Git 环境中管理 Telerik .NET 引用
【发布时间】:2018-04-16 04:56:14
【问题描述】:

我们有大约两打项目,它们都使用不同的 NuGet 包和一堆 Telerik WPF 库,后者通常由 GAC 添加,它本身不会向 csproj-File 添加提示路径. (好)

一旦我们使用 Telerik 的升级向导同时升级所有项目的引用,Telerik 就会开始将文件复制到 bin 文件夹旁边的本地 lib 文件夹并添加提示路径,这些提示路径在其他开发人员机器上不存在并且需要在每次推送到 Git 之前被丢弃。 (坏)

顺便说一句:我们经常在使用 Spire NuGet-Package 时遇到同样的问题(关于提示路径)。

现在我们提出了一些建议,我们内部认为不同,因此没有达成一致:

  • 继续丢弃包含提示路径的块
  • 请 Telerik 修复向导
  • 将库签入 Git
  • 使用他们的 NuGet 服务器添加 Telerik 库
  • 创建一个我们手动管理的库路径,可能作为网络驱动器

其他人处理这些问题的方法是什么?

【问题讨论】:

  • 那么仅仅将这些库签入 git 到底有什么问题呢?那么你的状态始终是一致的,无需执行外部操作(例如在每台机器上运行升级向导)。
  • @Evk,使用 NuGet 有什么问题?使用库文件夹有什么问题?没问题,只想输入如何正确/最好地完成它。最好来自可靠的来源。但反问:为什么不将所有开源项目都纳入其必要的第三方库,即使它们是同一许可下的开源库?
  • NuGet 是最好的,如果可能的话,几乎每个人都同意这一点,尽管有缺点 - 你的代码库现在有一个外部依赖,如果有一天给定的 nuget 包将由于某种原因变得不可用 - 你有问题. nuget 和将库直接添加到 git 都提供了一致性和便利性 - 您只需拉取、构建和完成,即使是从新机器上。至于你的问题——如果我们谈论的是 .NET 库——现在几乎每个人都使用 nuget,所以它们的依赖项通常在那里可用。如果不是(很少见)- 他们确实将它们直接包含在 git 中。
  • 您可以轻松地将包缓存在共享文件夹中。那么如果 NuGet 宕机了,你仍然可以继续工作……

标签: c# .net git telerik


【解决方案1】:

你需要使用 NuGet,这是最简单和最有条理的方式,只要你提交 package.config 文件,安装新包时,其他开发人员应该不会有问题,在这种情况下是任何一个将构建解决方案 Visual Studio 将自动恢复 NuGet 包。

确保如下图所示设置您的 NuGet 设置:

【讨论】:

  • 我会用赏金来奖励你,因为我认为这将是正确的答案。如果不是 Telerik 和 NuGet 缺少“全部更新”功能。然而,Amaud Well 得到了正确的答案。
【解决方案2】:

不要使用 Telerik 向导。使用 NuGet 添加 Telerik 依赖项。他们有一个私有的 NuGet 存储库。见教程here

【讨论】:

  • 谢谢,我已将此建议添加到可能性中!
【解决方案3】:

我会选择“将库检查到 git”。

基本原理:当开发人员(或 CI 系统)从源代码控制中检出您的项目时,他应该能够立即构建它,而无需安装 GAC 程序集等依赖项。

【讨论】:

  • 感谢您的意见。想详细说明为什么大多数存储库可能不包含库的事实?即使是那些只是参考开源项目并且可以轻松集成它们而没有许可问题的人?您是否知道任何包含第三方库的公共存储库或专业开发人员?赏金开放。谢谢
  • 您可以使用 NuGet 包实现相同的预期效果(无需在 GAC 中安装任何东西)。这是一个更清洁的解决方案,也是当今的事实标准。
  • @Lucas Trzesniewski 的问题可能是,Telerik 在一个单独的 NuGet 包中管理它的每个库,我们在每个项目中使用大约 5 到 20 个,因此每次迭代都需要更新一百多个包。反对使用 Telerik 更新所有 lib-Folders 的向导。
  • @SlapY 如上所述,像 NuGet 这样的包管理器有助于不包括库;但仍然达到了允许任何人在没有手动安装的情况下构建的相同结果。但是,您显然遇到了 NuGet 的问题,可以通过签入库来解决。
  • 这很公平,@SlapY :-)
猜你喜欢
  • 2021-09-05
  • 2020-04-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-07
  • 1970-01-01
  • 2022-10-26
相关资源
最近更新 更多