创建大量非必需项目引用的NuGet包

时间:2018-01-02 16:55:36

标签: nuget visual-studio-2017 azure-devops-rest-api

我们在升级到VS 2017和VSTS Online后正在审核我们的TFS访问代码。

我从本网站的another question发现,访问TFS库的推荐方法是通过NuGetPackage

太棒了,这肯定比从Team Explorer安装文件夹中引用要好。

但是,有问题的NuGet包添加了超过45个对我的项目的引用。

我相信我只使用了4-6个。

我发现this question讨论了包文件不必进入源代码控制这一事实。

很高兴知道。

但是,引用已添加为“Copy Local”,因此它们当前都被复制到我的输出目录中。这导致我的应用程序的大小超过三倍。这似乎不是一种好的做法。

人们通常会忽略这一点并与他们获得极大的依赖管理这一事实进行权衡吗?

或手动删除不需要的引用...?未来的更新是否会引用参考文献?

或者我以某种方式错误地使用了包裹??

此网站上有很多NuGet问题。我做了搜索,但如果这是重复,请接受我的道歉。

1 个答案:

答案 0 :(得分:1)

  

人们通常会忽略这一点并与他们获得极大的依赖管理这一事实进行权衡吗?

将所有依赖项添加到项目中是NuGet的默认行为。此时,没有这样的选项,以便我们可以选择其中一些依赖项。

虽然所有依赖项都作为“复制本地”添加到项目中,但是当我们发布应用程序时,我们可以通过将发布状态从Include (Auto)更改为Exclude来排除那些不需要的依赖项:

enter image description here

在这种情况下,那些非必需的引用不包含在应用程序中。

  

或手动删除不需要的引用...?做未来的更新   把参考文献放回来了?

是的,你可以手动删除那些不需要的引用,但是下次更新包时,那些被删除的引用会再次重新添加。

此外,如你所说,你只使用了4-6个。您可以尝试自定义nuget包,仅包括那些4-6个引用。

Create nuget package from dlls

希望这有帮助。