【问题标题】:What driving issues does Nuget solves that traditional project references cannot?Nuget 解决了哪些传统项目引用无法解决的驱动问题?
【发布时间】:2014-09-30 02:43:45
【问题描述】:

我正在寻找有关 NuGet 正在解决的具体问题的简单说明。尤其针对通过“添加引用”机制获得成功的开发人员。

例如,以下链接说明“问题”是源签入不包括项目引用。据我所知,这不是真的,因为它们直接列在通常签入的项目文件中。如果我误解了声明,请提前道歉。

http://www.techrepublic.com/blog/software-engineer/simplify-package-management-with-nuget/

什么回报保证了复杂性的增加,因为现在似乎有多个参考来源,对于新手来说,要追踪 4 个(?)典型交互来源之间发生的事情要困难得多:

  • 项目参考,
  • 在 machine.config 和
  • 中的 Nuget 引用
  • Nuget packages.config
  • App.Config.

背景:这源于解决问题时的挫败感,有人声称在某些情况下,启动标签的顺序必须在 app.config 中排在最后。另一个链接提到必须运行 msi 才能使特定包对其他 Windows 程序有用。

说明当参考文献中列出了一个版本但 nuget 列出了竞争版本时会发生什么。

【问题讨论】:

    标签: .net visual-studio nuget


    【解决方案1】:

    下载不是您计算机的库更容易吗?因此,您只需键入一行即可下载它们。它会立即添加引用。

    【讨论】:

      【解决方案2】:

      我发现它对于在不花费太多时间的情况下快速试用一个包非常有用。它快速添加引用和默认配置参数,如果我不喜欢它,很容易将其退出。虽然另一方面,一旦我使用了一些我自定义配置的包,如果我想升级,哎呀。

      【讨论】:

        【解决方案3】:

        源文件不包含项目引用。它们只包括参考本身。如果引用在您的硬盘驱动器上的某个位置并且未包含在项目中,那么它不会被签入。这就是为什么许多项目在解决方案文件夹中创建一个依赖项文件夹,在那里添加依赖项,并将它们添加到 VS 解决方案在解决方案文件夹中,然后引用依赖项。这是他们登记入住的唯一方式。

        Nuget 消除了确定特定包所需的依赖项的需要。它会为您跟踪更新的包和冲突。它可以使用非 .net 项目以及 bootstrap 和 jQuery。

        它对 machine.config 没有任何影响,因为这些项目仅在当前项目中。这意味着您可以根据需要使用同一软件包的不同版本的多个解决方案,而无需在本地安装它们或添加会对其他解决方案产生不利影响的其他设置。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-05-27
          • 2013-09-13
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多