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;每个10秒打印一次系统时间&#xff0c;投机取巧&#xff0c;弄成功了。$ for i in seq 1 10;do date;sleep 10 ;done 2012年 08月 29日 星期三 08:51:32 CST 2012年 08月 29日 星期三 08:51:42 CST 2012年 08月 29日 星期三 08:51:52 CST 2012年 08月…

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

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

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

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

java中立方根方法_java基础:4、java中Math类的常用方法?

4、java中Math类的常用方法&#xff1f;Java的Math类封装了很多与数学有关的属性和方法。如下所示&#xff1a;System.out.println("计算平方根--Math.sqrt(81)-- "Math.sqrt(81));//9.0System.out.println("计算立方根--Math.cbrt(27)-- "Math.cbrt(27)…

深度解读服务治理 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…

简单的桌面转移D盘

第一步&#xff1a;在D盘新建”桌面“文件夹第二步&#xff1a;开始---------运行------------输入Regedit ------找到HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders&#xff08;也可以进入注册表后点菜单编辑查找&#xff0c;输入…

信号转化java_Java基础知识回顾-7

1、ByteArrayInputStream、ByteArrayOutputStreamString str "ZHANGSAN";//System.out.println(str.toLowerCase());ByteArrayInputStream inputStream newByteArrayInputStream(str.getBytes());ByteArrayOutputStream outputStream newByteArrayOutputStream();i…

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

全世界只有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

近业务=困死在一条船上?

大家好&#xff0c;我是Z哥。先来描述一个常见的场景。程序员与业务需求方常常是一对冤家&#xff0c;经常因为一个业务功能实现争辩得耳红面赤。研发觉得这个功能很low&#xff0c;没什么技术含量&#xff0c;业务方却认为这个功能却很有用&#xff0c;需要花功夫做细做深做好…

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

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

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

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

HDU 2996 In case of failure [KD树]

KD树&#xff0c;来源计算几何&#xff0c;在《计算几何-算法与应用》一书中有详细的解释。 这题是比较裸的KD树模型&#xff0c;要在点集中找到离一个点最近的一个点。其实KD树就是一棵多维平衡二叉树&#xff0c;将多维空间分成很多个部分&#xff0c;查找时能够较快的逼近查…

构建属于你自己的dapr服务发现

作者&#xff1a;李俱顺原文&#xff1a;https://www.4async.com/2021/05/building-your-own-dapr-service-discovery/在上一篇文章中&#xff0c;我其实遗留了一个问题&#xff1a;如何定义dapr的服务发现呢&#xff1f;其实在后面阅读dapr的源码之后也前一篇文章的评论中提到…

python csv文件读取行列_使用Numpy读取CSV文件,并进行行列删除的操作方法

Numpy是Python强大的数据计算和处理模块&#xff0c;其操作数据非常迅速且简单易行。首先读取CSV文件>>> import numpy as np#导入numpy模块>>> tempnp.loadtxt("file.csv",dtypenp.int,delimiter,)可以看到两行代码搞定&#xff0c;看一下temp的内…

java.lang.NoClassDefFoundError: org.ksoap2.serialization.SoapObject

错误信息 最近在学Android使用KSOAP2调用现有的Webservice的方法&#xff0c;期间在网上找了很多代码&#xff0c;但是每次在Android模拟器中运行的时候程序都会崩溃&#xff0c;搞得自己都快崩溃了。。。。 查看了一下LogCat中的错误报告&#xff0c;发现是因为java.lang.NoCl…

php 模板替换,使用PHPWord对Word文件做模板替换

因工作需要&#xff0c;使用了版本比较旧的PHPWord项目官方已不见维护更新&#xff0c;上次版本更新是在Fri Jul 8, 2011 at 8:00 AM如果PHP版本>5.3.3&#xff0c;强烈推荐使用PHPOffice/PHPWord这个开源项目本篇针对的为旧版本的PHPWord基本安装问题总结Autoloader自动加载…