Nuget Package 支持打包 ReadMe 了

Nuget Package 支持打包 ReadMe 了

Intro

在 3月份,我们在NuGet生态系统状态上发布了一个博客,其中讨论了过去六个月以来从数百名客户那里获得的见解。客户在我们的调查中发现的最大问题之一是,“大多数软件包的文档不足”,可以从NuGet.org 轻松访问到的。实际上,NuGet.org 调查的受访者中有 45%表示“确实存在我需要的关键软件包,但没有充分的文档说明”,这是对NuGet生态系统不满意的原因。

我们很高兴地宣布,您终于可以将 README.md 文件打包到 NuGet 包中,并将其完全呈现在NuGet.org 上了!

NuGet.org上MySqlConnecter包中的README图像

–来自MySqlConnector程序包的图像

这一新功能仍然是 preview:在.NET SDK 5.0.300 预览开始支持,NuGet 5.10 的预览2,和 Visual Studio 16.10 Preview 2. 今天尝试此功能的最简单方法是安装最新的.NET 6预览版本或将最新的Visual Studio预览版。

以前,我们对NuGet.org上的文档提供了有限的支持。但是,这种体验要求作者针对每个新软件包版本将链接粘贴到自述文件或将自述内容粘贴在NuGet.org上。我们从作者那里听说,这一额外的步骤花费了太多时间,并且感觉从软件包创建和发布的其余过程中删除了。

在新的体验中,您可以像添加任何其他嵌入式软件包文件(如图标或许可证)一样添加 README.md 文件。这意味着:

  1. 您不必去 NuGet.org 即可将文档添加到您的软件包中,您可以使用喜欢用来打包 NuGet软件包的任何工具来进行处理。

  2. 设置项目文件的路径后,每次都会打包最新版本的自述文件README.md。只需设置并忘记它!

  3. 自述文件是不可变的,并且是特定于版本的,因此,用户也可以查看软件包较旧版本的相关自述文件!

将自述文件添加到您的包裹中

如果您已经有一个README.md文件,则将其包含在软件包中就像将两行代码添加到SDK样式项目的项目文件中,或者将 nuspec 插入非SDK样式项目的项目一样简单。如果您不熟悉创建NuGet软件包,我们建议您使用SDK风格的项目。

对于以下示例,我将README.md文件保存在“ docs”文件夹中,因此其到我的项目文件的相对路径为docs\README.md。您还可以在存储库根目录或任何其他文件夹中使用README文件,只要您使用调整相对路径即可。此外,您可以使用任意名称命名目标文件,例如NuGet.md代替README.md

在您的项目文件中添加自述文件(推荐)

您可以在项目文件中引用自述文件,如下所示:

<Project Sdk="Microsoft.NET.Sdk"><PropertyGroup>...<PackageReadmeFile>README.md</PackageReadmeFile>...</PropertyGroup><ItemGroup>...<None Include="docs\README.md" Pack="true" PackagePath="\"/>...</ItemGroup>
</Project>

在您的nuspec中添加自述文件

您可以在nuspec中引用相同的自述文件,如下所示:

<package><metadata>...<readme>docs\README.md</readme>...</metadata><files>...<file src="..\README.md" target="docs\" />...</files>
</package>

为NuGet.org编写自述文件(ReadMe)

考虑在自述(README)文件中包括以下各项:

  • 您的包裹的用途和作用的简介–它可以解决什么问题?

  • 如何开始使用您的包裹-是否有特定要求?

  • 如果未包含在自述文件中,则链接到更全面的文档。

  • 至少一些代码片段/样本或示例图像。

  • 在何处以及如何留下反馈,例如链接到项目 Issue,Twitter,BUG 跟踪器或其他平台。

  • 如何进行贡献(如果适用)。

请记住,高质量的自述文件可以有多种格式,形式和长度!如果您在NuGet.org上已经有可用的软件包,则很可能是您的存储库中已经有一个README.md文件,这对于NuGet.org详细信息页面将是一个很好的补充。

预览您的自述文件

要在README文件在NuGet.org上发布之前预览它,请使用NuGet.org上的Upload Package Web门户上传您的包,然后向下滚动到元数据预览的“ Readme File”部分。它看起来应该像这样:

NuGet.org包上传元数据预览页面的README文件预览部分的图像

考虑花些时间查看和预览自述文件,以确保其符合图像规范和受支持的格式,以确保它给潜在用户留下了深刻的第一印象!要纠正自述文件包发布到NuGet.org上的错误,您将需要使用修复程序推送更新的程序包版本。事先确保一切看起来都不错,这可以避免您日后头痛。

Markdown和图片支持

NuGet.org自述文件通过Markdig解析引擎支持与CommonMark兼容的Markdown 。有关受支持的Markdown功能的完整列表,请参见我们的NuGet.org自述文件。

出于安全和隐私方面的考虑,NuGet.org仅支持来自受信任的允许来源列表的徽章和图像。不幸的是,目前也不支持指向本地图像的链接。考虑将本地图像托管在我们信任的来源之一,产生一个链接,以包含在您的NuGet.org自述文件中。

例子

我们要感谢每位自愿参与 NuGet.org 软件包的作者,他们自愿提前尝试了新的README体验,以便为我们提供反馈并作为更广泛的NuGet生态系统的模型。

查看以下NuGet.org软件包以及它们如何使用README来增强其软件包详细信息页面的丰富性并改善新用户和准用户的首次体验:

  • NLog.Web.AspNetCore,Julian Verdurmen

  • GraphQLing.Client,Giorgi Dalakishvili

  • Ben.Demystifier 和 Ben.Http,Ben Adams

  • MySqlConnector, Bradley Grainger 和Caleb Lloyed

  • CommonHelpers, Lance McCarthy

在哪里可以看到软件包自述文件?

将带有嵌入式README的软件包上载到NuGet.org时,可以在其NuGet.org软件包详细信息页面上找到README 。Visual Studio包详细信息窗格中还将提供自述文件的链接。

Ben.Demystifier程序包详细信息窗格的图像,在Visual Studio中包括在NuGet.org上指向其README的链接。

–图片来自Ben.Demystifier包

我们希望听到您的反馈!

您的反馈对我们来说很重要。如果您在尝试使用新的自述文件功能时遇到任何问题,请查看我们的有关提交错误和建议的文档,以找到寻找解决方案或提出新  Issue 的正确位置。

要查看NuGet接下来会发生什么,请查看我们的公开建议或创建您自己的建议。确保留下您对现有Issue 和 Pull Request 的反馈!

如果您在NuGet.org软件包中添加自述文件,请对其进行发布 Tweet 并提及 @nuget 以从我们那里获得点赞或转发,以表示对您的软件包进行支持和推广!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/302263.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

幸运从来都只偏爱有准备的人——大龄码农的慌张日记

很多人将一件事的成功归结于能力&#xff0c;也有很多人将其归结为运气。今天要在这里跟大家分享的朋友名叫Leon&#xff0c;他在纽村政府注重本地人就业的大环境下&#xff0c;用时1个月以配偶工签的身份成功拿到大厂offer。接到我们的邀稿后&#xff0c;他花了很多心思写了这…

程序员必备表情包,速速收藏!

全世界只有3.14 % 的人关注了数据与算法之美程序猿怒产品 &#xff1a;程序猿不想和你说话&#xff0c;并… 被吐槽写BUG时怎么办 产品又来提需求 产品又要改需求&#xff0c;怎么办 产品说&#xff0c;这个功能三天后就要 日常怼产品 日常工作内心咆哮 来源&#xff1a;网络版…

深度解读服务治理 ServiceMesh、xDS

最近在同程艺龙蹲坑&#xff0c;聊一聊微服务治理的核心难点、历史演进、最新实现。☺️以上内容属自我思考&#xff0c;如理解有偏差、理解不透彻、现状梳理不清楚的请大家多指教。大纲微服务治理的核心难点方案演进的法宝&#xff1a;代理模式2.1 集中式代理2.2 客户端嵌入Sd…

struts2 kindeditor teatarea拿不到值问题。

2019独角兽企业重金招聘Python工程师标准>>> 源&#xff1a; <script type"text/javascript">var editor;KindEditor.ready(function(K) {editor K.create(textarea[name"userinfo.introduce"], {resizeType : 1,allowPreviewEmoticons …

三个字帮大家总结一下刘强东事件

全世界只有3.14 % 的人关注了数据与算法之美真干了【别和我说话】“工作战衣”的预售活动正在火热进行中&#xff0c;数量有限&#xff0c;欲购从速&#xff01;购买者还将会有机会免费获超级数学建模的第一本书&#xff08;附超模君亲笔签名&#xff0c;只限20名哦&#xff09…

【思维导图】新手该怎么学习C#/WPF

C#和WPF没有什么多大的关系&#xff0c;WPF是一个框架&#xff0c;VB都可以写WPF&#xff0c;至于如何学习C#&#xff0c;还是老样子&#xff01;基础&#xff1a;基础语法基础API基础练习所谓基础语法&#xff0c;包括if /if else &#xff0c;swicth&#xff0c;while&#x…

程序员搞笑故事:给女儿织的辫子 ​​​​,你知道是什么算法吗?

全世界只有3.14 % 的人关注了数据与算法之美1、程序员给女儿织的辫子 &#xff0c;你知道是什么算法吗&#xff1f;推荐阅读《啊哈&#xff01;算法》2、一个姑娘在我女友面前声讨她的男友&#xff0c;女友帮腔说&#xff1a;学土木工程的嘛&#xff0c;肯定又土又木。姑娘问&a…

模块XX.dll已加载,但对DllRegisterServer的调用失败

为什么80%的码农都做不了架构师&#xff1f;>>> 模块"XX.dll"已加载&#xff0c;但对DllRegisterServer的调用失败&#xff0c;错误代码为0x80004005 一句话&#xff0c;权限问题…… 转载于:https://my.oschina.net/szm/blog/76544

爱卡创誓记java刷钱_【178创誓记】快速升级:40到50级只需要两天的黄金刷

本文由178论坛会员&#xff1a;东东呛 转载&#xff0c;如果你是原作者请联系我们&#xff0c;我们会对原创作者给予奖励。(当然您也可以在评论回复表达看法&#xff0c;但是论坛会有更丰富的奖励哦。)朵朵快满级了~~~由于内测只开到50级~~~可还剩下一堆任务~所以刷怪刷到49级半…

大道至简,大数据的小窍门

在大数据时代的现今&#xff0c;数据庞大且繁杂&#xff0c;因此&#xff0c;如何有效利用它们&#xff0c;达到资源不浪费的目的成为了相关工作者思考的问题&#xff0c;于是数据分析就应运而生。在实际生活中&#xff0c;数据分析已经成为人们作出判断和采取行动的基石。比如…

服务端和客户端证书各种组合下对访问者(浏览器/中间人)的影响

今天本来想研究下nginx下如果获取SSL指纹&#xff0c;但是环境没有装成功就尝试了下如果不用nginx直接在服务端拿到SSL指纹&#xff0c;没想到从创建自签名证书到如何开启证书&#xff0c;以及服务端证书和客户端证书各种组合校验的测试就花了我很长时间。(注意自签名证书用Rsa…

如果科学家封神,会有什么称号?

全世界只有3.14 % 的人关注了数据与算法之美你听说过“天雷真君”吗&#xff1f;你知道“虐猫狂人"吗&#xff1f;其实这两个称号是网友分别送给大科学家富兰克林和薛定谔的。今天让我们看看伟大的科学家们还有一些什么有趣的称号。尺规小王子高斯如来神展傅立叶勾股圣手—…

mac php mcrypt,MacOSX 10.10安装mcrypt详细教程分享

mcrypt 是使用安全技术来交换数据文件加密方法. 这是必需的&#xff0c;例如一些 Magento 的 Web 应用程序,购物车软件或一个 PHP 框架&#xff0c;比如 Laravel. 本教程在 OS X 10.10 Yosemite 经过测试。本指南是真正为用户提供了PHP运行于OSX Yosemite 的5.5.14 版本。其他下…

WPF加载高德地图

WPF开发者QQ群&#xff1a; 340500857 前言 有小伙伴问如何加载高德地图。欢迎转发、分享、点赞&#xff0c;谢谢大家~。 接着上一篇源码中放了我的 BingMap Key 请大家不要滥用&#xff0c;谢谢。也可以自行申请 BingMap Key https://www.bingmapsportal.com/效果预览&#x…

深度学习与机器学习到底什么关系?

最近广州的天气老是变幻无常&#xff0c;前脚还冻得瑟瑟发抖&#xff0c;后脚又开始夏天模式&#xff08;如下图&#xff09;&#xff0c;让小天甚是怀念每天艳阳高照的夏天&#xff0c;虽然热了点但好歹不用担心猝不及防地收到寒风暴雨黄色预警。说到夏天&#xff0c;不得不提…

全选按钮的使用。winfrom程序中,对全选按钮的理解,欢迎拍砖!

最近在做公司项目时&#xff0c;用到了一些单选多选的处理情况。特编辑此文&#xff0c;欢迎批评指正。&#xff08;有图有真相&#xff09; winfrom程序。 首先&#xff0c;需要绑定某些用户&#xff0c;该用于由当前登陆用户获取。 private void BindUser() { …

理工男一般不浪漫,一浪漫便值很多年

今晚是平安夜接下来就是圣诞元旦小木先祝大家幸福、快乐、健康一年一度“最佳”圣诞元旦礼物奖就要发表了中了直男毒的礼物你们挚爱的女朋友可是不要的哦今天小木就大家扒一扒满满直男的礼物是怎样的&#xff01;Part 1“男票送了我一箱木瓜&#xff0c;说是丰胸疗程&#xff0…

C#序列化与反序列化详解

什么是序列化以及如何实现序列化&#xff1f;序列化是通过将对象转换为字节流&#xff0c;从而存储对象或将对象传输到内存&#xff0c;数据库或文件的过程。主要用途是保存对象的状态&#xff0c;包括对象的数据&#xff0c;以便能够在需要是重建对象。反向过程称为 反序列化。…

TLS是如何保障数据传输安全(中间人攻击)

前言前段时间和同事讨论HTTPS的工作原理&#xff0c;当时对这块知识原理掌握还是靠以前看了一些博客介绍&#xff0c;深度不够&#xff0c;正好我这位同事是密码学专业毕业的&#xff0c;结合他密码学角度对tls加解密(DH这块)的阐述&#xff0c;让我对这块原理有了更进一步的理…

除了 Python ,这些语言写的机器学习项目也很牛

全世界只有3.14 % 的人关注了数据与算法之美Python 由于本身的易用优势和强大的工具库储备&#xff0c;成为了在人工智能及其它相关科学领域中最常用的语言之一。尤其是在机器学习&#xff0c;已然是各大项目最偏爱的语言。其实除了 Python &#xff0c;也不乏有开发者用其他语…