NuGetizer 1.2.3

dotnet add package NuGetizer --version 1.2.3                
NuGet\Install-Package NuGetizer -Version 1.2.3                
该命令旨在在 Visual Studio 的包管理器控制台中使用,因为它使用 NuGet 模块的 Install-Package 版本。
<PackageReference Include="NuGetizer" Version="1.2.3">
  <PrivateAssets>all</PrivateAssets>
  <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
</PackageReference>                
对于支持 包引用 的项目,将此 XML 节点复制到项目文件中以引用包。
paket add NuGetizer --version 1.2.3                
#r "nuget: NuGetizer, 1.2.3"                
#r 指令可用于 F# 交互式和 Polyglot Notebooks。将此复制到交互式工具或脚本的源代码中,以引用包。
// Install NuGetizer as a Cake Addin
#addin nuget:?package=NuGetizer&version=1.2.3

// Install NuGetizer as a Cake Tool
#tool nuget:?package=NuGetizer&version=1.2.3                

NuGetizer 是 .NET SDK 内置 Pack(即“SDK Pack”)的即时替代品,它瞬间提高了您在 MSBuild 设计和扩展性最佳实践中自定义和扩展打包过程的能力。

是的,这意味着无论您的打包场景多么复杂或先进,您永远都不需要手动写 .nuspec

来自构建 nuget 包的经验构建的全面和直观的启发式方法使 NuGetizer 的入门变得无缝和简单,同时仍然通过纯 MSBuild 扩展性适应最复杂的情况。开箱即用,NuGetizer 支持

  • 内置于 .NET SDK Pack 的替代方案
  • 打包项目引用(包括递归引用)
  • 智能库 打包需求直接支持
  • 打包多目标项目,包括特定框架的资源和相关依赖项
  • 使用互补的 dotnet-nugetize 命令行工具进行快速迭代开发
  • 全面的 诊断分析器 以提供打包最佳实践的指导
  • 一致的命名方式字符,以便推断包内容行为
    • Pack=[true|false] ⇒ 包含/排除项目(如 PackageReferenceProjectReferenceNoneContent 等)
    • PackFolder=[folder] ⇒ 已知文件夹的特殊行为名称,例如 LibBuildContentTools 等(作为项目属性或项目元数据)
    • PackagePath=[path] ⇒ 包相对路径(如 NoneContent 等)
    • Pack[Item Type]=[true|false] ⇒ 通过简单的属性(如 PackNonePackContentPackBuildOutputPackDependenciesPackFrameworkReferencesPackEmbeddedResourcePackResource 等)为给定类型的所有项目设置默认打包行为
  • 使用.msbuildprojMicrosoft.Build.NoTargets SDK进行项目打包
  • 支持SourceLink来填充包中的仓储信息
  • 自动包含包中的readme.md
  • 支持在readme中包含内容
  • 默认启用对发布多目标打包包的包验证

强烈建议您安装dotnet-nugetize工具,以获得最佳NuGetizer使用体验

dotnet tool install -g dotnet-nugetize

有以下项目:

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFramework>netstandard2.0</TargetFramework>
    <GenerateDocumentationFile>true</GenerateDocumentationFile>

    <PackageId>Quickstart</PackageId>
    <Authors>NuGetizer</Authors>
    <Description>NuGetized quickstart</Description>

    <PublishRepositoryUrl>true</PublishRepositoryUrl>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="NuGetizer" />
    <PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.1.1" 
                      PrivateAssets="all" />
    <PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
  </ItemGroup>

  <ItemGroup>
    <None Include="none.txt" Pack="true" />
    <Content Include="content.txt" Pack="true" />
    <Compile Update="@(Compile)" Pack="true" />
  </ItemGroup>

</Project>

在项目目录中运行nugetize将生成

nugetize quickstart

一个典型的打包.msbuildproj项目,对于一个智能多目标库可能如下所示

<Project Sdk="Microsoft.Build.NoTargets/3.7.0">

  <PropertyGroup>
    <PackageId>Quickstart</PackageId>
    <TargetFramework>netstandard2.0</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="NuGetizer" />
    <PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.1.1" 
                      PrivateAssets="all" />
  </ItemGroup>

  <ItemGroup>
    <ProjectReference Include="..\Analyzer\Quickstart.CodeAnalysis.csproj" />
    <ProjectReference Include="..\Build\Quickstart.Tasks.csproj" />
    <ProjectReference Include="..\Lib\Quickstart.csproj" />
    <ProjectReference Include="..\Tools\Quickstart.csproj" />
  </ItemGroup>

</Project>

并且会产生以下nugetize工具输出

nugetize smart library

您可以将此示例直接打开并在您的浏览器中运行,GitHub Codespace

NuGetizer项目文档站点了解更多关于NuGetizer及其功能的信息。

赞助商

Clarius Org Kirill Osenkov MFB Technologies, Inc. Stephen Shaw Torutek DRIVE.NET, Inc. Ashley Medway Keith Pickford Thomas Bolon Kori Francis Toni Wenzel Giorgi Dalakishvili Uno Platform Dan Siegel Reuben Swartz Jacob Foshee alternate text is missing from this package README image Eric Johnson Ix Technologies B.V. David JENNI Jonathan Oleg Kyrylchuk Charley Wu Jakob Tikjøb Andersen Seann Alexander Tino Hager Mark Seemann Ken Bonny Simon Cropp agileworks-eu sorahex Zheyu Shen Vezel ChilliCream 4OTC

Sponsor this project  

更多关于GitHub赞助商的信息

此包中没有任何支持的框架资源。

了解目标框架.NET Standard的更多信息。

此包没有依赖项。

NuGet包

此包未被任何NuGet包使用。

GitHub仓库 (14)

显示受NuGetizer依赖的前5个流行GitHub仓库

仓库 星级
devlooped/moq
最受欢迎和友好的.NET模拟框架
nissl-lab/npoi
一个可以在不安装Microsoft Office的情况下读取/写入Office格式的.NET库。没有COM+,没有互操作
LitJSON/litjson
.Net框架的JSON库
moq/labs
最受欢迎和友好的.NET模拟框架
devlooped/GitInfo
从MSBuild、C#和VB获取Git和SemVer信息
版本 下载 最后更新
1.2.3 280 8/9/2024
1.2.2 10,046 5/17/2024
1.2.1 46,316 11/30/2023
1.2.0 16,014 10/11/2023
1.1.1 9,442 8/28/2023
1.1.0 18,151 8/11/2023
0.9.2 10,431 2/11/2023
0.9.1 65,034 11/16/2022
0.9.0 38,264 9/3/2022
0.8.0 34,270 6/9/2022
0.7.5 44,927 10/13/2021
0.7.4 10,144 7/20/2021
0.7.3 380 7/19/2021
0.7.2 414 7/16/2021
0.7.1 5,246 6/17/2021
0.7.0 2,857 5/10/2021
0.6.2 25,497 3/30/2021
0.6.0 22,313 12/10/2020
0.5.0 1,770 11/25/2020
0.4.12 486 11/20/2020
0.4.11 776 11/4/2020
0.4.10 576 10/29/2020
0.4.9 2,246 10/26/2020
0.4.8 453 10/25/2020
0.4.7 841 10/21/2020
0.4.6 569 10/21/2020
0.4.5 1,052 10/8/2020
0.4.4 535 10/8/2020
0.4.3 495 10/4/2020