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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了创建大量非必需项目引用的NuGet包相关的知识,希望对你有一定的参考价值。

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

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

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

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

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

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

很高兴知道。

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

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

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

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

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

答案

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

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

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

enter image description here

在这种情况下,不要求引用不包含在应用程序中。

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

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

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

Create nuget package from dlls

希望这可以帮助。

以上是关于创建大量非必需项目引用的NuGet包的主要内容,如果未能解决你的问题,请参考以下文章

nuget 包引用引发的问题

NuGet:将包依赖项显式列出为项目中的包引用,以便可以卸载它们

创建一个从在线提要中提取 NuGet 引用的 Visual Studio 项目模板

这台计算机上缺少此项目引用的 NuGet 程序包。使用“NuGet 程序包还原”可下载这些程序包

引用的库使用 VS 2017 在 Nuspec 中注册为其他 nuget 引用

NuGet包管理平台