首页
学习
活动
专区
圈层
工具
发布

使用dotnet Cli向nuget发布包

前置 安装勾选.NET Core开发套件的Visual Studio; 安装dotnet Cli 从VS2017开始,dotnet Cli已经自动在.NET开发套件中被安装;使用SDK-style format...(SDK属性)的.NET Standard项目需要dotnet Cli;nuget.exe Cli用于非SDK样式的项目(通常是.NET Framework)。...构建时生成Nuget包:顾名思义,除打包命令,构建时也会自动生成nuget包; 标记:帮助其他人定位你的包,了解包的能力。 给package设定一个唯一id,并填写其他属性。...发布包 有了.nupkg文件,你可以从nuget.org获取一个API key(这个Key标记了你这个nuget账户),结合dotnet cli发布包。...推送命令中的错误通常表明存在问题 , 如: 您可能忘记了更新项目的版本号,而尝试发布同签名的软件包。 您尝试使用主机上已存在的标识符发布程序包时,也会看到错误:名称“ AppLogger”已经存在。

1.4K10

开始第一个插件【适用于v1.2-1.3】

安装nuget包 Nuget是什么?点击学习 本SDK是多目标平台的SDK。...可以根据你的需求安装对应的nuget包,我们将这些nuget包称为平台支持包详细罗列如下: 平台 nuget包 酷Q(https://cqp.im) Newbe.Mahua.CQP Amanda(http...除了安装平台支持包之外,还可以安装Newbe.Mahua.Tools.Psake这个nuget,我们称为开发工具包。 开发工具包提供了在开发过程中一些必要的自动化过程,例如版本打包等。...,用于唯一标识插件产品的Id,至少包含 AAA.BBB.CCC 三个部分 /// public string Id { get; set; } =...复制文件到机器人平台 在bin目录下会按照当前安装的平台生成相应的目录。本示例将会生成CQP和Amanda两个目录。 分别将两个目录中的文件复制到对应的机器人平台根目录。

43000
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    dotnet 配合 Gitlab 做自动推 Tag 时打包 NuGet 包

    我现在的团队内部用的是 Gitlab 工具,在此工具上提供了 Gitlab CI CD 用于做自动化测试和构建。对于 CBB 来说,发布就是打出 NuGet 包然后上传到内部 NuGet 服务器。...也就是本地打一个 Tag 号,推送到 Gitlab 上,就会出发 Gitlab 的自动构建,自动构建里面将会获取 Tag 版本号,然后打出 NuGet 包推送到服务器 在阅读本文之前,期望大家了解什么是...通过 only 里面设置 tags 就可以在推送 Tag 到 Gitlab 上自动触发构建 现在的问题是如何让推送的 Tag 的版本号作为 NuGet 包的版本号 在 Gitlab 里面将会在执行构建的时候注入环境变量...) 此时将会从环境变量获取 CI_COMMIT_TAG 设置为 Version 属性,这样就能让打出来的 NuGet 包和对应的 Tag 相同 此时的 .gitlab-ci.yml...因为是内部用的模版我也没有打算开源 通过三个步骤能使用 dotnetCampus.TagToVersion 这个工具,这个工具能解决在本地打出 NuGet 包的版本号问题,能解决带 v 的特殊的 Tag

    1.9K10

    dotnet 使用 Qpush 快速从电脑到手机推送文字

    然后打开网页网页推送输入推名和推码然后输入内容就可以发送到手机 image.png 但是这个工具有一个缺点就是没有 Windows 客户端,于是我就先做了一个轮子 通过抓包知道了浏览器是如何发送...,尝试在前台放一个按钮,在按钮点击的时候调用上面代码 注意 请将上面的推名和推码修改为你自己的推名和推码 此时就可以看到手机收到信息 这个工具做起来难度很低,但是我做出了一个 dll 库,虽然这个库里面就只有一个类...于是根据这个库做出了一个 UWP 的应用,可以在应用商店搜 Qpush 下载,或者点击下载 如果想要看 UWP 的源代码,请到 github 如果发现代码有哪里不清真,欢迎联系 如果觉得直接引用这个库会输出一个...dll 希望放在自己的程序里面,不需要手动去复制下面的源代码,只需要修改 Nuget 包为 lindexi.src.Qpush.Source 就可以。...这里的 lindexi.src.Qpush.Source 是一个源代码包,使用 SourceYard 做的源代码,安装这个库和复制下面的源代码到自己的项目里面差不多。

    68110

    dotnet 使用 Qpush 快速从电脑到手机推送文字

    但是这个工具没有找到客户端,于是我就给他写了一个库,通过这个库可以快速进行开发 先介绍QPush 快推这个从电脑到手机最方便的文字推送工具,可以在网页进行输入,在手机自动复制到剪贴板,相当于在手机使用电脑的输入法...通过抓包知道了浏览器是如何发送,然后创建了一个 nuget 库,只需要通过下面的使用方法就可以使用这个工具 创建一个空白项目,通过 Nuget 安装 lindexi.src.Qpush 注意项目需要使用...,尝试在前台放一个按钮,在按钮点击的时候调用上面代码 注意 请将上面的推名和推码修改为你自己的推名和推码 ?...如果想要看 UWP 的源代码,请到 github 如果发现代码有哪里不清真,欢迎联系 如果觉得直接引用这个库会输出一个 dll 希望放在自己的程序里面,不需要手动去复制下面的源代码,只需要修改 Nuget...这里的 lindexi.src.Qpush.Source 是一个源代码包,使用 SourceYard 做的源代码,安装这个库和复制下面的源代码到自己的项目里面差不多。

    74430

    为 NuGet 指定检测的 MSBuild 路径或版本,解决 MSBuild auto-detection: using msbuild version 自动查找路径不合适的问题

    使用 nuget restore 命令还原项目的 NuGet 包的时候,NuGet 会尝试自动检测计算机上已经安装的 MSBuild。...不过,如果你同时安装了 Visual Studio 2017 和 Visual Studio 2019,那么 NuGet 有可能找到错误版本的 MSBuild。...实际上我计算机上同时安装了 Visual Studio 2017 和 Visual Studio 2019,我有两个不同版本的 MSBuild: 15.9.21.664 在 C:\Program Files...虽然命令行输出中推荐使用了 -MSBuildVersion 选项来指定 MSBuild 的版本,但是实际上实现同样功能的有两个不同的选项: -MSBuildPath 自 NuGet 4.0 开始新增的选项...修改环境变量解决 NuGet 的命令行自动查找 MSBuild.exe 时,是通过环境变量中的 PATH 变量来找的。

    88240

    使用批处理根据项目工程文件生成Nuget包并发布(支持.NET Core)

    这个问题折腾了一晚上,后面在GitHub里面找到了提示。 设置包属性 通常我们在搜索Nuget包时,可以看到很多描述或介绍,如下图所示: ?...: AssemblyDescription("Magicodes.WeChat.SDK为湖南心莱信息科技有限公司基于微信业务封装的工具包,以便更便捷更简单的调用和使用微信接口,以更好地和自己的业务结合。...目前,.NET Core类库通过批处理打包会出现包属性中文乱码的问题。 调用脚本 首先我们得确认目录结构和相关必须文件位置是否正确,如下所示: ?...番外:调用第三方API通知 有时候,如果我们的包是推送到自己的服务器,或者我们希望团队中其他人知道我们推送了吊炸天的包包,但是我们又不想直接很Low的在群里@所有人 ,那么我们可以编写PowerShell...,在包推送完成后,我们可以编写以下脚本: set title="%nupkg%包已推送,请更新最新包。"

    74330

    开始第一个插件【适用于v1.0-1.1】

    安装nuget包 ? 打开nuget包管理器,搜索Mahua。根据你希望运行的机器人平台安装Newbe.Mahua.*的nuget包。...本示例希望运行在多个平台上,因此安装以下nuget包: Newbe.Mahua.CQP Newbe.Mahua.Amanda 若想要安装最新的开发版,可以勾选”包含预发行版”。...,用于唯一标识插件产品的Id,至少包含 AAA.BBB.CCC 三个部分 /// public string Id { get; set; } =...复制文件到机器人平台 在bin目录下会按照当前安装的平台生成相应的目录。本示例将会生成CQP和Amanda两个目录。 分别将两个目录中的文件复制到对应的机器人平台根目录。...发送消息给机器人,你就会收到机器人回发的信息。 机器人插件启动可能需要一段时间,并且大多数平台都会丢弃离线信息,可能需要等待一会儿在发送。

    53100

    SharpIco:用纯C#打造零依赖的.ico图标生成器,支持.NET9与AOT编译

    前言 最近一直在完善我今年的两款桌面软件:视频剪辑工具 Clipify[1] 和 AI 文章创作工具 StarBlogPublisher[2] 虽然界面是基本完善了,但图标还是默认的,显得很不专业 于是我打算给这俩软件换个好看的图标...brew 项目主页: https://github.com/star-plan/sharp-ico 实现 在 SharpIco 中,.ico 文件的生成完全不依赖 ImageMagick 或任何图像处理外部工具...不只是一个代码库,同时也提供了完整的命令行工具,方便在任意开发场景中快速调用,无论是手动使用还是集成进构建脚本都毫无压力。...只需推送一个符合语义化格式的标签(如 v1.0.0),系统将自动: 构建并发布 NuGet 工具包 针对 Windows / Linux / macOS 编译原生 AOT 可执行文件 自动上传所有产物到...npx 脚本、pip 工具之类的概念 可以使用 dotnet tool 命令安装和调用 不过这种方式就不能使用 AOT,只能使用 framework dependant 方式发布 nuget 发布比较简单

    14000

    dotnet 配合 GitHub 的 Action 做自动推 Tag 时打包 NuGet 包

    被微软收购的 GitHub 越来越好用,拥有大量免费的工具资源和构建服务器资源,再加上私有项目的无限制使用,我有大量的项目都在向 GitHub 迁移。...为什么需要在推 Tag 打包,请看 dotnet CBB 为什么决定推送 Tag 才能打包 本文将用到一个 dotnet tool 工具,在 dotnet 里面可以通过 dotnet tool 轻松分发和安装...版本号写入到版本号文件里面 在使用这个工具的时候有一个前提是在项目的 Build 文件夹存放一个 Version.prop 文件,此文件夹是版本号文件。...这个组织方式在当前大量官方的 dotnet 开源项目,如 WPF 开源项目都是这样使用,只是存放的内容和路径不太相同 在自动化构建时,将通过 dotnetCampus.TagToVersion 工具将版本号写入到...而这个版本会在构建的时候被工具修改为推送的版本号,也就是这个项目构建的输出文件的版本号就是推送的版本号,通过这个方式就可以完成打包 可以看到现在有几个项目都在使用这个方式进行打包,如 dotnet-campus

    1.1K20

    可集成到文件管理器,一句 PowerShell 脚本发布某个版本的所有 NuGet 包

    不过,如果你有很多的 NuGet 包并且经常需要推送的话,也可以集成到 Directory Opus 或者 Total Commander 中。...关于使用 Directory Opus 继承工具栏按钮的细节,可以阅读我的另一篇博客: 在 Directory Opus 中添加自定义的工具栏按钮提升效率 - walterlv 具体来说,就是安装上文中所述的方法添加一个按钮...Opus 当前目录 执行一段 PowerShell 脚本,但执行完之后不退出(这样,我可以观察到我实际上推送的是哪一些包,并且可以知道推送是否出现了错误) 要执行的命令为 nuget push *.xxx.nupkg...当前选中的文件,我用正则表达式匹配出其版本号和后面的 .nupkg 后缀 将正则表达式匹配出来的文本作为 nuget push 的包,最终生成的命令会非常类似于本文一开始提到的命令 nuget push...*.0.8.0-alpha.nupkg -Source https://api.nuget.org/v3/index.json 于是,当我选中了一个包,按下这个工具栏按钮之后,就可以推送与这个包相同版本的所有的

    45330

    dotnet 打包 NuGet 的配置属性大全整理

    - walterlv 一些前置知识博客: 理解 C# 项目 csproj 文件格式的本质和编译流程 - walterlv 项目文件中的已知 NuGet 属性(使用这些属性,创建 NuGet 包就可以不需要...,该标识符在 nuget.org 或包所在的私有的 NuGet 源中必须是唯一的。...> 更多 Id 相关,请参阅 ID Prefix Reservation Microsoft Learn Title 包的人类阅读友好标题,通常在UI显示中使用,如在 nuget.org 和 Visual...PropertyGroup> IsPackable 用于设置项目是否可以被打包,默认是 true 表示项目可以打包,如果设置为 false 禁用则不打包 NuGet 包。...修复 VisualStudio 构建时没有将 NuGet 的 PDB 符号文件拷贝到输出文件夹 IncludeSymbols 设置是否输出符号文件,用于制作符号包,通常和 SymbolPackageFormat

    1.7K20

    dotnet 配置 Gitlab 的 Runner 做 CI 自动构建

    工具放在一个文件夹,将这个文件夹加入到系统变量的 Path 值,用一个新的命令行输入 nuget 看是否可以找到 如果需要用到内部网络的 NuGet 源,注意不能直接通过 VisualStudio 配置...不过如果在开发设备上,也可以这样设置,此时可以模拟一些有趣的用户环境,找到一些有趣的坑 但我现在也遇到以下问题: 如何将 CI 打包推送的 NuGet 包和源仓库的 Tag 关联起来,作为需要维护一个有历史的...我用到了一个 NuGet 包,我发现这个包有问题,我如何拿到这个包的代码?这是最大的坑。...于是我就有以下问题 是否应该在 CI 自动推送 NuGet 包时,自动给源仓库打一个 Tag 号 如果 CI 适合给源仓库打一个 Tag 号,那么这个 Tag 应该如何做 是否应该放在 git 的 Hook...是否应该在手动推 Tag 时触发打包,那么这个手动推的 Tag 如何关联到 NuGet 版本号 最好不要写脚本,因为脚本写起来只有了解版本的小伙伴才能了解,基本上不可维护,除非只是调用这个命令行

    2.5K20

    dotnet CBB 为什么决定推送 Tag 才能打包

    通过推送 Tag 才打 NuGet 包的方法的作用不仅仅是让打包方便,让打包这个动作可以完全在本地执行,无需关注其他系统的使用步骤。...后面只能通过二分的方法,用了几天的开发才完成 所以看到了我上面的坑,小伙伴大概也就能知道为什么我期望将 Tag 和 NuGet 包关联了 在我现在团队的约定里面,只要添加了 alpha 也就是预览版,就可以随意推送测试的...原因是有小伙伴说我的某个项目的开发依赖某个库,但是假设这个库一定是合并到主分支之后才能打出 Tag 打包,也就是小伙伴在某个项目的代码将一直不能推送。...里面只需要简单5次点击加上输入版本号就能完成 Tag 新建和推送,详细请看 VisualStudio 如何快速添加一个 Git Tag 推送 在本地推Tag打包还有一个好处是能提升不少的效率,有很多团队例如我现在的团队之前就是使用...jenkins 打包,这个工具太强大而让上手和维护成本都特别高,加上使用的小伙伴太多,服务器性能不足,每次打包都需要等待缓慢的系统响应。

    43820

    dotnet 根据基线包版本实现库版本兼容

    本文来告诉大家如何根据 基线包版本 的功能来实现自动在构建过程中,告诉开发者,当前版本是否存在不兼容旧版本的变更。其不兼容变更包括二进制中断变更和 API 不兼容变更和源代码中断变更。...可以让库开发者花更少的精力在测试兼容性上 今天看到了队长推送的 .NET 6新特性试用 Nuget包验证 博客,才回忆起此功能。...问题也不大,别忘了咱还有版本号规则 版本号规则 基本所有 dotnet 系上,正经的库和框架都会遵循约定的版本号规则,从而让开发者在使用任何库的时候,通过版本号都能明确其中的含义,决定自己是否应该升级到最新版本...本文将告诉大家如何使用 EnablePackageValidation 和 PackageValidationBaselineVersion 功能,自动让构建工具告诉开发者当前的更改是否存在不兼容的更改...,通过 NuGet 去拉取对应的版本,接着通过 DLL 导出类型的对比,从而了解是否存在不兼容的变更 也就是说在 PackageValidationBaselineVersion 里面写入的版本号,要求是可以在

    79110

    使用GUI工具高效构建你自己的Nuget包丰富包的基础信息添加要包含的文件The end

    写这篇文章的原因是我在学习构建nuget包的时候,发现了一个官方推荐的GUI工具,而官方的工具介绍文章已经过时,一些地方和现在最新版本的工具有些差异,所以特意利用假期最后一个下午写下来,希望能帮助更多的人...左边部分,可以录入一些包中的基础信息,包括: 包的ID:必须的唯一的ID,格式和C#命名空间规范相同,在你发布包的时候会去验证唯一性。...版本号:必须的三段式的版本号,注意每次发布必须大于上一次的版本号,否则将会被nuget驳回。 标题:非必需的,通常你可以让它和ID保持一致,但是这不是强制的。...,来按一定规则生成代码,而且它还可以使用一些预定义的变量,会提供你生成专用于目标项目代码的有效工具。...使用包 在VS中创建一个项目,打开nuget package窗口,在搜索框中输入上文中定义的包ID:ListControlExtension或者直接在命令行工具中输入命令:Install-Package

    1.5K60

    搭建VS2017 Linux CMake开发环境

    VS2017 本文用来测试的版本是VS2017.15.9.8 内网(\\192.168.80.20) 有相应的离线安装包 如图所示, 我们需要勾选这些组件. 2....cmake –version确认版本号, 通过 cmake –E capabilities 查看ServerMode是否为True 4....点击Explore按钮可以查看从远端下载的头文件, 正确下载头文件后, 在VS中, VA可以正确提示Linux相关的函数与结构体, 方便我们编写和查看相关代码。...Window, 有需要的时候, 我们也可以通过Debug->Linux Console菜单项打开该窗体, 运行失败的时候, 该窗体可能会给出更具体的报错提示....我们简单说明一下该文件的对应配置项: 显示在工具栏的配置名称, 如果存在多个配置项, 我们可以直接在工具栏进行切换(比如Debug, Release版的切换) 这个是存放源代码的位置, 具体操作的时候可以不使用宏

    3.6K10
    领券