首页 > 其他分享 >dotnet CLI推送Nuget

dotnet CLI推送Nuget

时间:2023-04-11 13:22:15浏览次数:56  
标签:nuget CLI -- Nuget 未指定 dotnet 默认值 pack

前提:

  • 准备好要发布的包
  • 选择一个打包工具,可以是dotnet CLI、nuget.exe CLI、MSBuild

  • 准备好Nuget官方API Key

自述文件

  先必须添加Readme.md到项目中(包含在项目中),双击项目文件,添加README.md(注意路径),并制定文件地址:

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
//...
    <PackageReadmeFile>README.md</PackageReadmeFile>
//...
  </PropertyGroup>

  <ItemGroup>
//...
    <None Include="README.md" Pack="true" PackagePath=""/>
//...
  </ItemGroup>
</Project>

 

设置属性

打包工具这里使用的dotnet工具,包的表述来源于项目proj项目的属性,所以首先得设置属性,以下是官方示例

  • PackageId(包标识符)必须跨 nuget.org 和承载包的任何其他目标是唯一的。 如果未指定值,则命令使用 .AssemblyName
  • Version,窗体 Major.Minor.Patch[-Suffix] 中特定的版本号,其中 -Suffix 标识预发布版本。 如果未指定,默认值为 1.0.0
  • Authors 是包的作者。 如果未指定,默认值为 AssemblyName
  • Company 是公司信息。 如果未指定,则默认值为 Authors
  • Product 是产品信息。 如果未指定,默认值为 AssemblyName
  • ....
<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFramework>netstandard2.0</TargetFramework>
    <PackageId>UniqueID</PackageId>
    <Version>1.0.0</Version>
    <Authors>Author Name</Authors>
    <Company>Company Name</Company>
    <Product>Product Name</Product>
  </PropertyGroup>
</Project>

 

打包

  要生成 NuGet 包或 .nupkg 文件,请从项目文件夹运行 dotnet pack命令,该命令还会自动生成项目

dotnet pack

  若要在运行 dotnet build 时自动运行 dotnet pack,请将以下行添加到 <PropertyGroup> 中的项目文件内:

<GeneratePackageOnBuild>true</GeneratePackageOnBuild>

 

发布

使用命令dotnet nuget push可将打包好的.nupkg文件推送到Nuget,可将如下命令写入一个.ps1文件用powershell执行,key是nuget的API Key

dotnet nuget push [<ROOT>] [-d|--disable-buffering] [--force-english-output]
    [--interactive] [-k|--api-key <API_KEY>] [-n|--no-symbols]
    [--no-service-endpoint] [-s|--source <SOURCE>] [--skip-duplicate]
    [-sk|--symbol-api-key <API_KEY>] [-ss|--symbol-source <SOURCE>]
    [-t|--timeout <TIMEOUT>]

dotnet nuget push -h|--help
Write-host "PSScriptRoot
dotnet build
dotnet pack -o ./pack
set-location ./pack
dotnet nuget push .nupkg -k oy2xxxxxxxxxxaxxxxxxxxxxqklnlbm -s https://www.nuget.org/
remove-item ./.nupkg -Recurse

 

参考

https://learn.microsoft.com/zh-cn/nuget/create-packages/creating-a-package-dotnet-cli

 

 

 

标签:nuget,CLI,--,Nuget,未指定,dotnet,默认值,pack
From: https://www.cnblogs.com/zousc/p/17305759.html

相关文章

  • 使用ECLIPSE时弹出中文帮助
    (原创)使用ECLIPSE时弹出中文帮助1 在http://gceclub.sun.com.cn/download/Java_Docs/html_zh_CN.zip官方的下载JDK中文API2把它解压在自己的电脑上,如:F:\JAVAAPI1.5html\html\zh_CN\api(不要有中文路径)(ps:好像可以有中文)3打开ECLIPSE的window--->Preferences--->java--......
  • dotnet-exec 让 C# 程序更简单【转】
    Introdotnet-exec是一个可以执行C#程序而不需要项目文件的命令行工具,并且你可以指定自定义的入口方法不仅仅是Main方法在python/NodeJs里,可以使用pythonxx.py/nodexx.js来运行代码,在C#中一般是需要项目文件才能dotnetrun运行代码,这对于一些比较简单的代码来说会显得麻......
  • 探索VMware ESXI CLI常用命令
    目录【常用命令】【关于esxi常用命令总结】【esxcli命令探究】ESXi命令行获取帮助的方法为<命令关键字--help>,常用的命令一般都是以esxcli开头,如果忘记命令可以使用帮助:esxcli--help;输出如下:[root@localhost:~]esxcli--helpUsage:esxcli[options]{namespace}+{......
  • 执行redis-cli命令创建redis集群时报错“Could not connect to Redis at IP:端口: No
    问题描述:执行redis-cli命令创建redis集群时报错“CouldnotconnecttoRedisatIP:端口:Noroutetohost”,如下所示:数据库:redis6.2.6系统:rhel7.91、异常重现[root@leo-redis626-asrc]#/usr/local/src/redis-6.2.6/src/redis-cli--clustercreate--cluster-replicas1......
  • ClickHouse用户管理安全指南
    用户管理用户信息存储在user.xml文件中。通常建议多个用户,使用单独的XML文件进行管理。默认是位于目录/etc/clickhouse-server/users.d/下。例如,创建如下两个用户:ClickHouse和abce​<users><clickhouse><networks><ip>127.0.0.1</ip>......
  • .NET6通过Docker搭建Nuget私有包服务器
    一、创建挂载目录文件夹1、可自定义文件夹路径,若提示文件夹不存在,就一级一级创建mkdir/usr/home/nuget/dbmkdir/usr/home/nuget/packages2、指定目录写入权限chmod666/usr/home/nuget二、sunside/simple-nuget-server容器1、创建容器sudodockerrun-d-p8085......
  • CLIP
    CLIPOpenAIICML2021摘要CLIP的方法非常的简单,但是效果非常好。比如,clip的迁移学习能力是非常强的,它预训好的模型,能够在任意一个视觉分类的数据集上取得不错的效果。而且最重要的是CLIP是zeroshot的,也就是说它完全没有在这些数据集上去做训练,就能得到不错的效果。Clip在不使......
  • 【Dotnet 工具箱】探索 LiveCharts2:一款强大的跨平台图表库
    你好,这里是Dotnet工具箱,定期分享Dotnet有趣,实用的工具和组件,希望对您有用!LiveCharts2LiveCharts2是一个简单、灵活、交互式以及功能强大的跨平台图表库。LiveCharts2现在几乎可以在任何地方运行,包括Maui、UnoPlatform、Blazor-wasm、WPF、WinForms、Xamarin、Avalonia......
  • MongoDB、Redis、HBase、Cassandra、Elasticsearch、ClickHouse等NoSQL数据库简介及优
    MongoDBMongoDB是一个基于文档的NoSQL数据库,它使用BSON(二进制JSON)格式存储数据。MongoDB支持动态查询,可以轻松地处理非结构化数据。它还支持水平扩展,可以在多个节点上分布数据。优点:灵活性高,支持非结构化数据存储。支持水平扩展,可以在多个节点上分布数据。支持动态查询,可......
  • 在Ubutu(14.10)的Eclipse启动Tomcat,以及部署问题
    启动Tomcat安装了阿土14.10(启动盘报gfxboot.c32:notaCOM32Rimage,网上查得输入live,果然可以,对此解决方式只能说),想装一个javaservlet的环境,下载了eclipse,通过apt-getinstall安装了tomcat和openjava。但是在运行时,RunOnServer中ServerName无法显示,导致无法运行。根据网上的指......