本文告诉大家如何在打出的 NuGet 包含代码的注释,这样安装了 NuGet 的小伙伴就可以在 VS 上看到对应的方法和类的注释 在使用 SDK Style 格式,可以使用下面一句话在输出的时候添加 xml...注释文件,在打包 NuGet 添加 xml 注释 true 上面代码在 csproj 中添加 另一个方法是指定 DocumentationFile 的路径 当然,上面这个方法需要指定路径 在...NuGet 包里面,按照规则,在对应的 xx.dll 或 xx.exe 存在对应的 xx.xml 文件,那么这个 xx.xml 文件将会被作为库的注释文件被 VS 使用
如果你不了解 .props 文件或者 .targets 文件,可以阅读下面的博客: 理解 C# 项目 csproj 文件格式的本质和编译流程 - walterlv 具体的例子有下面这些博客。...工具包 - walterlv 如何创建一个基于命令行工具的跨平台的 NuGet 工具包 - walterlv 当我们创建的 NuGet 包中包含 .props 和 .targets 文件的时候,我们相当于在项目文件...csproj 的两个地方添加了 Import 这些文件的代码。...-- 当生成 WPF 临时项目时,不会自动 Import NuGet 中的 props 和 targets 文件,这使得在临时项目中你现在看到的整个文件都不会参与编译。...然而,我们可以通过欺骗的方式在主项目中通过 _GeneratedCodeFiles 集合将需要编译的文件传递到临时项目中以间接参与编译。
本文告诉大家如何在打包的时候加上需要放在包里面的文件 在 VisualStudio 使用新项目格式快速打出 Nuget 包 告诉大家快速打包的方法,但有时候我需要将本地的一些资源或依赖也放在包里面,此时就需要用到下面的方法...在项目里面引用的资源,可以通过在引用的时候添加 Pack 属性设置打包,使用 PackagePath 属性设置打包的时候放在包里面的哪个文件夹 例如将项目里面引用的 林德熙是逗比.txt 打包放在 lib...,在修改编译过程的 targets 和 props 文件是需要跟随包的名才能被执行。...例如在 Roslyn 通过 Target 修改编译的文件 写到的替换编译文件,此时要求对应的文件有规定的命名 在 NuGet 里面,要求执行的 targets 文件必须满足命名要求,需要命名为 NuGet...包id.targets 才会被执行,对应的 props 文件也相同 如果是自己手写文件名,在更改 NuGet 包 id 的时候如果没有更改,或复制不对,那么会发现没有执行 简单的解决方法是在打包的时候自动修改对应的文件包
MySql.Data.MySqlClient 引入项目里 .net6 首选我们将库Using进来,在 .csproj 文件中添加 ItemGroup 添加到项目“/Users/morris/Desktop/Demo/Demo.csproj”。.../morris/Desktop/Demo/Demo.csproj 的包... info : GET https://api.nuget.org/v3-flatcontainer/mysql.data...info : 包“MySql.Data”与项目“/Users/morris/Desktop/Demo/Demo.csproj”中指定的所有框架均兼容。...info : 包“MySql.Data”(版本为 8.0.28)的 PackageReference 已添加到文件“/Users/morris/Desktop/Demo/Demo.csproj”。
更新于 2018-06-30 01:30 知道了 csproj 文件中的一些常用 NuGet 属性,创建 NuGet 包时就可以充分发挥新...不过,我更愿意分成三类来说明: nuspec 属性 当然,这部分的属性也是在 csproj 中使用的,是为了生成 nuspec 文件。...$(Authors): 包的作者;建议指定成在 nuget.org 上的用户名,这样访客可以点击包作者查看到包作者的信息;多个名字用分号分隔。...项属性 文件 为了脱离 nuspec 文件来打包,csproj 中需要对特殊用途的文件设置特别的 NuGet 属性。...可能没有开放的内部属性 在 Microsoft.NET.Sdk 中,NuGet 包的打包主要靠的是 NuGet.Build.Tasks.Pack.targets 文件中一个名为 PackTask 的任务来完成的
还原依赖项以及在 project 文件中指定的特定于项目的工具。...例如,在 NuGet.Config 中设置 globalPackagesFolder 会将还原的 NuGet 包置于指定的文件夹中。...这是在 dotnet restore 命令中指定 --packages 选项的替代方法。 有关详细信息,请参阅 nuget.config 参考。...这用于还原 .csproj 文件中的 标记中未显式列出的运行时的程序包。 有关运行时标识符 (RID) 的列表,请参阅 RID 目录。...-s|--source 指定要在还原操作期间使用的 NuGet 包源的 URI。 此设置会替代 nuget.config 文件中指定的所有源。 多次指定此选项可以提供多个源。
... 15 任务3:向项目添加项目引用... 16 任务4:将NuGet包添加到项目或更新它... 17 概述 开源和跨平台开发是Microsoft 的当前和将来至关重要的策略。....十、 下面我们演示给项目添加一个Nuget包 利用我们前面安装的VS code 的Nuget 包扩展插件,我们选中HelloWorld.Web 项目,使用UI菜单查看- 命令面板: ?...接下来我们将我们的项目添加到我们的解决方案文件,我们很容易在Visual Studio 2017中打开解决方案,然后手动添加对每个项目的引用。...0 个警告 0 个错误 任务4:将NuGet包添加到项目或更新它 假设我们要将NuGet包添加到我们的一个项目中,我们可以使用该add package命令来执行此操作。...或者,我们可以使用版本参数指定要安装的版本: dotnet add package shouldly -v 2.8.3 更新NuGet包 将NuGet软件包更新到最新版本也是一样简单,只需使用相同的命令而不使用版本参数
十、 下面我们演示给项目添加一个Nuget包 利用我们前面安装的VS code 的Nuget 包扩展插件,我们选中HelloWorld.Web 项目,使用UI菜单查看- 命令面板: ?...接下来我们将我们的项目添加到我们的解决方案文件,我们很容易在Visual Studio 2017中打开解决方案,然后手动添加对每个项目的引用。...0 个警告 0 个错误 任务4:将NuGet包添加到项目或更新它 假设我们要将NuGet包添加到我们的一个项目中,我们可以使用该add package命令来执行此操作。...首先导航到要添加NuGet软件包的项目: PS D:\WorkTest\piedpiper\src> cd ....或者,我们可以使用版本参数指定要安装的版本: dotnet add package shouldly -v 2.8.3 更新NuGet包 将NuGet软件包更新到最新版本也是一样简单,只需使用相同的命令而不使用版本参数
,它也是Nuget包,其中包含了一堆系统库的NuGet程序包,包含.netcore的基础运行时和基础类库。...,在nuget管理中也可以看到这是默认的离线包目录,我们需要什么样的包只要把它复制到这个目录,在nuget管理中的程序包源选择离线的源即可。...= ''" /> 和以往的csproj 文件一样,这个文件架起Visual Studio 和MSBuild沟通的桥梁。...不过后续这个文件要被csproj 替代,也许就在不久的将来的Visual Studio 2016上面就变成了csproj。...这里使用了一种非常棒的算法来确定要加载的源代码目录: 如果 global.json 中指定的任何源代码位置包含的文件夹具有与包相同的名称(如 Microsoft.Extensions.Logging),
--include-source:该选项用于创建带有 src 文件夹的符号包,该文件夹包含源文件。 将被打包项目的 NuGet 依赖项添加到 .nuspec 文件,以便在安装包时可以进行正确解析。...若要覆盖默认行为,请将以下属性添加到 .csproj 文件中: true 隐式还原...自变量 PROJECT | SOLUTION 要打包的项目或解决方案。 它可能是 csproj 文件、vbproj 文件、fsproj 文件、解决方案文件或目录的路径。...--include-source 除输出目录中的常规 NuGet 包外,还包括调试符号 NuGet 包。 源文件包括在符号包内的 src 文件夹中。...-o|--output 将生成的包放置在指定目录。 --runtime 指定要为其还原包的目标运行时。
PATH环境变量,将其NuGet.exe的路径添加到PATH变量中。...在命令提示符下,进入NugetTest.csproj文件所在目录,然后执行: nuget spec 运行结果: ?...,在产生package之前,一定要记得先编译项目,否则会提示$description$找不到的错误; STEP6 产生类库包(Library Package) 在NugetTest.csproj的路径下...,使用下面的命令产生类库包: nuget pack NuGetTest.csproj 运行结果: ?...STEP8 测试以及更新类库包 在解决方案中右键解决方案—-管理解决方案的NuGet程序包—-联机,输入自己的类库包名。安装就可以了。
创建nuget工具包 丰富包的基础信息 在点击Create a new package后,是一个简洁的界面 ?...作者(s):必须的项目,以逗号分隔作者列表。 拥有者:你可以随便写,但是在发布的时候会被你的nuget帐户名替代。 最低客户端版本:描述这个包限制的最低nuget客户端版本。...添加要包含的文件 在最终的nuspec文件中,可以通过设置files的xml节点来逐个指定要包含的文件,但是这样nuget就会完全忽略按照文档结构的约定包含的文件,在大多数情况下,我们不需要去手动指定它...files节点可以包含file子节点,它包含src和target两个属性,来分别制定要包含的文件路径和目标路径,在src中还可以使用*和**通配符,想要了解更详细的说明,请参阅http://docs.nuget.org...在nuget文档结构约定中,包含了如下三个文件夹: lib:包含目标程序将要引用的dll文件。
优势: nuget包的本地引入可以方便打包后的本地测试,确保打包正确、功能完善后再上传至nuget服务端 本地引入方式也极为简单,三步操作即可搞定,熟悉之后这个操作2分钟内就可以搞定 具体步骤(以引入Epic.RobotService...包为例) 准备好一个nuget包文件,并在要引入的项目中新建Packages文件夹,将nuget包放进该文件夹,目录结构和移动后效果如下图所示: 在*.csproj文件夹中添加 Packages属性...,如下图所示: 其中Packages为刚刚所创建的文件夹名称,和*.csproj在同一级目录,RestoreSources标签代表可以从本地指定文件夹中引入nuget包。...在项目目录下运行dotnet add package Epic.RobotService命令即可将本地包添加到项目中,效果如下:
我们一直倾听,现在很自豪地介绍从Grpc.Tools NuGet包的1.17版本开始,.NET C#项目中的Protocol Buffer和gRPC服务.proto文件的集成编译。...https://raw.githubusercontent.com/grpc/grpc/master/examples/protos/helloworld.proto 接下来,将必需的NuGet包添加到项目中...这是有道理的,因为程序包只包含编译器、代码生成器和导入文件,这些在.proto文件编译的项目之外是不需要的。虽然,在这个简单的演练中并非严格要求,但始终应该是你的标准做法。...因此,编辑文件MyGreeter.csproj以添加helloworld.proto以便将其编译,并将PrivateAssets属性添加到Grpc.Tools包参考中。...当然,你也可以将.cs文件添加到同一个项目中:毕竟,它是构建.NET库的常规C#项目。我们在RouteGuide示例中是这样做的。
若要下载该包,请在添加依赖项后执行 dotnet restore命令。 因为依赖项在发布时已从本地 NuGet 缓存解析出来,因此它一定适用于你的系统。...当为具有此类第三方依赖项的应用程序创建 FDD 时,已发布的输出会针对每个本机依赖项支持(存在于 NuGet 包中)的运行时标识符 (RID) 包含一个文件夹。...本节后面部分将显示完整的示例 csproj 文件。 运行 dotnet restore命令,还原项目中指定的依赖项。 运行 dotnet restore(请参阅注释)命令,还原项目中指定的依赖项。...例如,可以使用简单的 copy 命令将其打包为 Zip 文件,或者使用选择的安装包进行部署。 下面是此项目完整的 csproj 文件。...在运行 dotnet restore命令之前,还需执行额外两个步骤: 将对任何第三方库的引用添加到 csproj 文件的 部分。 以下 部分使用 Json.NET 作为第三方库。
了解这部分知识减少一些奇怪的问题和奇怪的决策 基本上使用 dotnet 打包 NuGet 包时,都是通过配置 csproj 项目文件来完成实现功能。...可参阅此博客提供的方法将旧的 csproj 格式升级到 SDK 风格的 csproj 格式 在 csproj 项目文件里面,支持编辑内容,在 PropertyGroup 标签里面添加属性值。...- walterlv 一些前置知识博客: 理解 C# 项目 csproj 文件格式的本质和编译流程 - walterlv 项目文件中的已知 NuGet 属性(使用这些属性,创建 NuGet 包就可以不需要...,该标识符在 nuget.org 或包所在的私有的 NuGet 源中必须是唯一的。...比如说最常用的是将 PDB 文件放入到 NuGet 里面,即可通过此属性设置输出文件里面的 pdb 文件需要被添加到包里面,如以下代码 <!
CLI工具来加快日常开发效率,之前有使用过Node.js开发CLI(moq就是其作品),但效果不佳,总的说来其实还是对Node.js不熟悉,如果过多的花费时间在工具的开发上就得不偿失了,于是便有了使用熟悉的...打开 coo.csproj 文件,添加下方 XML节点到 节点内。...缺省:项目文件名去掉 .csproj,例如:coo.csproj,则缺省为:coo : 可选,NuGet包位置,NuGet包被用于.NET CLI安装你的工具 执行...dotnet pack 后,生成 coo.1.0.0.nupkg 的位置 完整 coo.csproj 文件内容: 的NuGet包源订阅地址, 你应该给你的包一个独一无二的名字确保它只会在 ./nupkg 目录找到,而不是在 Nuget.org 站点。 2.
但是,您是否曾经尝试并创建过一个nuget包呢?Nuget软件包比较容易引入到类库中。因此,可以使用NuGet软件包管理器将nuget软件包添加到任何项目中。...Nuget包的剖析 Nuget软件包不仅是dll文件。NuGet包是可移植的,它包含您要放入.Net项目中的所有内容。您可以在其中放置txt文件或png文件。这就是为什么我们称它们为“包裹”。...您可以打包一些开发文件,并将它们以.nupkg格式在项目之间移动。 我刚刚解压缩了InputKit的nuget包,您可以在下图中看到nupkg文件的树状视图。 ?....nuspec nuspec是关于nuget包的元数据文件。在早期版本中,它曾经用于打包nuget包。但是在新的dotnet CLI中,此文件是由roslyn编译器从您的.csproj文件生成的。...转到nuget.org并登录到你的帐户。然后导航到“发布”选项卡,并将您的.nupkg文件拖放到该页面中。填写有关包裹的信息字段并提交。仅此而已!这是在nuget.org上发布软件包的最简单方法。
Windows 资源管理器使用 %var% 来使用环境变量,那么我们能否在 Visual Studio 的项目文件中使用环境变量呢? 本文介绍如何在 csproj 文件中使用环境变量。...遇到的问题 在 Windows 资源管理器中,我们可以使用 %AppData% 进入到用户的漫游路径。...于是,我需要将 Visual Studio 的调试目录设置为以上目录,但是以上目录中包含环境变量 %AppData% 在 Visual Studio 中修改输出路径 如果直接在 csproj 中使用 %...AppData%,那么 Visual Studio 会原封不动地创建一个这样的文件夹。...在我的电脑上是 C:\Users\lvyi\AppData\Roaming。 于是,在 csproj 中设置 OutputPath 即可正确输出我的插件到目标路径。
在编写项目文件或者 MSBuild Target 文件的时候,我们经常会使用 来定义集合中的一项。在定义的同时,我们也会额外指定一些属性。...---- 将下面的代码放到你项目文件的末尾,最后一个 的前面,可以在编译的时候看到两个新的警告。...在定义 WalterlvY 集合的时候,我们使用了 %(Compile.FileName) 来获取编译文件的文件名。...于是,你在警告信息中看到的两个警告信息里面,一个输出了 Compile 集合中每一项的标识符(通常是相对于项目文件的路径),另一个输出了每一个 Compile 项中的 FileName 属性。...需要注意,如果 % 得到的项中某个属性为空,那么这一项在最终形成的新集合中是不存在的。