【问题标题】:"Suggest usings for types in nuget packages" - how to make my NuGet package suggested?“建议使用 nuget 包中的类型” - 如何建议我的 NuGet 包?
【发布时间】:2021-11-10 09:53:13
【问题描述】:

最近的 Visual Studio 中有一个名为“建议使用 nuget 包中的类型”的功能。

它适用于许多非 Microsoft 软件包。例如,当您在代码中的任何位置键入 JsonConvert 并按Ctrl+. 你会得到Install package Newtonsoft.Json 的建议。

这是非常方便和省时的功能。

但是 - 无论我制作了多少包,都有完整的文档、符号、元数据 什么不是,它们从来没有被建议过,即使只有一个这样的名字存在于整个 NuGet 存储库。

这里一定有一个陷阱。一些未记录,甚至记录但鲜为人知的功能 .NET 项目系统,允许添加一些元数据,所以这个特性会建议 包。

有人知道怎么做吗?

【问题讨论】:

  • 由于它基于 IntelliCode,我怀疑他们扫描的代码库中的软件包受欢迎程度很重要。

标签: c# visual-studio nuget


【解决方案1】:

来自微软开发者博客IntelliCode Package Suggestions for NuGet in Visual Studio

工作原理

IntelliCode 包建议使用协同过滤 算法以获取项目的上下文,包括已安装的 包和项目框架,然后建议包 经常包含在类似的项目中。你可以把它想象成 Netflix 对 NuGet 包的建议。该模型在 有更多包的项目,因为它有更多的上下文来定制你的 建议。它还将随着每个新版本的发布而继续改进 Visual Studio – 适应最新的软件包和趋势。

从这一行我们可以推断出建议是基于包的受欢迎程度:

then suggest packages that are frequently included in similar projects

【讨论】:

    【解决方案2】:

    Visual Studio 基本上是在 IntelliCode 的控制下运行 NuGet 包。 包的下载次数在“建议用于 NuGet 包中的类型”选项中很重要。它基于此显示。

    【讨论】:

    • 因此较旧的软件包(即早期发布的第一个版本)比新软件包更有可能被推荐。这解释了为什么我的包从来没有被推荐过,它们太新了,而且 - 还不够受欢迎(还)。
    猜你喜欢
    • 1970-01-01
    • 2021-05-19
    • 1970-01-01
    • 2011-10-12
    • 2018-07-17
    • 2017-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多