Nuget固定版本

时间:2015-12-28 14:43:56

标签: c# visual-studio-2013 nuget

我正在Visual Studio 2013中开发一个C#项目,我们开发了许多nuget包,供多个不同的应用程序使用。我们遇到了一些nuget.org软件包,我们想要" pin"到旧版本,并将旧版本的包的表达集中。

例如,我们与Unity 4或NUnit 3不兼容,因此我们希望坚持使用这些软件包的先前版本。

我不喜欢使用" allowedVersions"在packages.config中,因为

  1. 它没有集中(每个项目都必须输入)
  2. Visual for GUI中的GUI,用于更新解决方案级别ignores project level "allowedVersions"
  3. 的包

    我已经在一个根级别nuget包中表达了版本固定,该包具有带有依赖关系行的.nuspec

    <dependency id="Unity" version="(,4.0)" />
    <dependency id="NUnit" version="(,3.0)" />
    

    似乎阻止所有消费者进入不受支持的版本。我喜欢这个,因为它很简单,我可以告诉我的队友确保每个包都包含那个根级nuget包。

    我不喜欢的一件事就是这个root包的每个消费者都会得到他们不一定使用的包的引用。

    例如,我发布的应用程序现在将引用NUnit,尽管根本不使用它。

    有没有一种方法可以在没有获取这些不必要的依赖项的情况下在Nuget 中表达版本固定?

0 个答案:

没有答案