首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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

现在团队内部用Gitlab 工具,在此工具上提供了 Gitlab CI CD 用于做自动化测试和构建。对于 CBB 来说,发布就是打出 NuGet 包然后上传到内部 NuGet 服务器。...此时遇到问题是,如何在 Gitlab 上执行打包,打包时候如何指定 NuGet 包版本号。...因为 CBB 特殊性,要求每个 NuGet 正式发布包都应该有一个对应 Tag 号,这样将 NuGet 库安装项目里面,之后发现问题了还能找到对应版本代码 本文告诉大家如何配合 Gitlab...Gitlab Runner 以及如何开启,详细请看 dotnet 配置 Gitlab Runner 做 CI 自动构建 本文以一个 WPF 库为例子,其他 dotnet 库也是相同方法...在 dotnet 里面打包方法可以通过以下命令 dotnet pack -c release 在 Gitlab 里面通过 Tag 出发构建命令可以在 .gitlab-ci.yml 添加下面代码 tagpublish

1.7K10

dotnet 配置 Gitlab Runner 做 CI 自动构建

今天在少珺小伙伴协助下,使用了 gitlab runner 给全组项目做自动构建。...为什么需要使用 Gitlab Runner 做自动构建,原因是之前是用是 Jenkins 而新建一个底层库项目想要接入自动构建等,需要来回在 Gitlab 和 Jenkins 上配置,大概步骤差不多有...于是就和头像大人商量使用虚拟机环境方法,在空闲服务器上安装了 VirtualBox 虚拟机,然后在虚拟机部署 Runner 接着在项目接入,这样就可以确定打包环境,同时迁移服务器也比较方便 在团队内负责团队各个项目用到...为了提升效率,减少对服务器和 Jenkins 依赖,尝试了在虚拟机部署 gitlab runner 方式,相对于原有的优势在于新建一个项目,如果都是相同技术栈, dotnet 技术栈,只需要拷贝一个...如果有关注博客小伙伴就会发现其实本文是分两次写,因为开始使用了 dotnet 没有发现问题,而后续用到了 msbuid 就发现了这个坑 如果已经安装上了 Runner 可以执行下面代码卸载 .

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

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

被微软收购 GitHub 越来越好用,拥有大量免费工具资源和构建服务器资源,再加上私有项目的无限制使用,有大量项目都在向 GitHub 迁移。...因为 CBB 特殊性,要求每个 NuGet 正式发布包都应该有一个对应 Tag 号,这样将 NuGet 库安装项目里面,之后发现问题了还能找到对应版本代码 在阅读本文之前,期望小伙伴能了解如何在...这个组织方式在当前大量官方 dotnet 开源项目 WPF 开源项目都是这样使用,只是存放内容和路径不太相同 在自动化构建时,将通过 dotnetCampus.TagToVersion 工具将版本号写入到...而这个版本会在构建时候被工具修改为推送版本号,也就是这个项目构建输出文件版本号就是推送版本号,通过这个方式就可以完成打包 可以看到现在有几个项目都在使用这个方式进行打包, dotnet-campus...DLL引用替换插件 当前 Gitlab 上也可以使用此方法,请看 dotnet 配合 Gitlab 做自动推 Tag 时打包 NuGet 包 另外开源了一个构建工具集,请看 dotnetcampus.DotNETBuildSDK

96020

刚刚从服务器回滚了 dotnet 5 环境

今天是 2020.11.13 在 CI 服务器上更新 dotnetdotnet 5 以及 VS 到 16.8.1 最新版本,但是在刚刚不得不回滚了环境…… 因为构建不通过 现象 使用经典 NuGet...确保已运行还原,且“net45”已包含在项目的 TargetFrameworks 。...] 原因 本质原因是 NuGet 没有跟上步伐,因为通过 dotnet restore 是可以 不完美解决方法 如果项目里面不存在旧项目格式,以及 VS 插件项目等等项目,试试用 dotnet 命令构建...dotnet build -c release 或者使用 dotnet 还原配合 msbuild 构建 dotnet restore msbuild /p:Configuration=Release...或者在 dotnet build 里面使用了 dotnet core 版本 msbuild 丢失了旧版本 dotnet framework 版本 msbuild 支持旧版本功能,让一些旧版本项目构建不通过

60010

从零开始学习 dotnet 编译过程和 Roslyn 源码分析

dotnet build 基础 你需要先了解 csproj 文件结构,以便进行后续学习: 理解 C# 项目 csproj 文件格式本质和编译流程 - 吕毅 项目文件已知属性(知道了这些,就不会随便在...复制文件 - 林德熙 如何使用 MSBuild Target(Exec)控制台输出 - 吕毅 如何在 MSBuild Target(Exec)中报告编译错误和编译警告 - 吕毅 更高级 Target...让跨平台 MSBuild/dotnet build Target 支持差量编译 - 吕毅 基于 Target 一些应用: Roslyn 如何在 Target 引用 xaml 防止文件没有编译 -...使用 Directory.Build.props 文件定义编译 - 林德熙 使用 MSBuild 响应文件 (rsp) 指定 dotnet build 命令行编译时大量参数 - 吕毅 NuGet...理解 Roslyn 红绿树(Red-Green Trees) - 吕毅 一些 Roslyn 额外功能: Roslyn 的确定性构建 - 吕毅 SourceFusion 预编译框架 关于预编译框架博客没有那么多

25940

dotnet 通过引用 msbuild 程序集实现自己定制编译器

本来想说是基于引用 msbuild 程序集来自己做一个编译器,但是想想好像本文做,和造编译器没啥关系,咱自己调用 msbuild API 而已。...本文告诉大家如何引用 msbuild 程序集,如何在自己应用程序里面嵌入 msbuild 构建代码,实现 dotnet build 效果 大部分代码都是采用命令行方式去调用 dotnet build...,刚好 msbuild 最新版本也是使用 dotnet 框架编写,咱 dotnet 应用可以非常方便将 msbuild 引用进来。...当然了,本文不讨论如何自己发布 msbuild 问题,因为这又是另一个坑了。本文方法是引用本机已安装 msbuild 程序集 在开始之前,请新建一个控制台项目。...); 注册完成之后,将可以使用 msbuild 提供各个类实现构建,请新建一个方法用来编写调用 msbuild 各个类构建代码。

70240

.NET周报【10月第1期 2022-10-11】

在 Windows 虚拟机托管了一个 WCF SOAP 服务和一个.NET 框架 4.6。 文章介绍了转移到新.NET 平台原因。 原因主要有以下五点: 跨平台,使用容器。...卓越工具, CLI 工具、SDK 风格项目和消除绑定重定向等 迁移过程,库顺序是".NET Framwork 4.6→....总而言之,向.NET 6 迁移是一次大规模、痛苦但值得经历,从大型代码库迁移总结出以下经验: 迁移到.NET 框架 4.7 或.NET 框架 4.8 将所有项目转换为 SDK 风格,并在开始工作前使用...我们是如何通过删除闭包分配实现 5 倍管道执行速度 https://particular.net/blog/pipeline-and-closure-allocations 关于通过减少 NServiceBus... lambda 捕获(分配)提高性能文章。

5K20

dotnet build

隐式还原 构建需要 project.assets.json 文件,该文件列出了你应用程序依赖项。 此文件在 dotnet restore 执行时创建。...无需运行 dotnet restore,因为它由所有需要还原命令隐式运行, dotnet new、dotnet build、dotnet run、dotnet test、dotnet publish...如果未指定项目或解决方案文件,MSBuild 会在当前工作目录搜索文件扩展名以 proj 或 sln 结尾文件并使用该文件。...大多数项目的默认配置为 Debug,但你可以覆盖项目生成配置设置。 -f|--framework 编译特定框架。 必须在项目文件定义该框架。...--no-self-contained 将应用程序发布为与框架相关应用程序。 必须在目标计算机上安装兼容 .NET 运行时才能运行应用程序。 自 .NET 6 SDK 起可用。

1.9K20

译 | .NET Core 基础架构进化之路(一)

她键入什么编译和测试?日志放在何处?如果她需要向回购添加新项目,这是如何做到? 每个必需功能都被开发 N 次 示例:.NET Core 产生成吨 NuGet 包。...不希望这样做仓库可以从各种提供基本功能(签名和打包) MSBuild 任务包中进行选择,这些功能在所有存仓库看起来都相同。当我们对这些任务进行更改时,我们会尽力避免重大更改。...当 Azure DevOps 开始推出基于 YAML 构建管道,并在 .NET Core 3.0 开始启动时对公共 GitHub 项目的支持,我们认识到我们具有独特机会。...我们从以下工作大致概要出发: 将所有逻辑保存在代码,在 GitHub 。随时随地使用 YAML 管道。 有一个公开和私有项目。...一个很好例子管道dotnet/arcade 自己本身官方编译/PR管道

2.6K40

.NET Core系列 : 2 、project.json 这葫芦里卖什么药

指定项目支持框架,以及有关如何为特定框架构建项目的配置详细信息。 标识独立应用目标平台,它含有其所有依赖项,包括对应平台所需特定于平台 .NET Core 运行时。...或者,如果项目是可移植应用,project.json 可标识项目会在目标计算机(将在其上运行程序集)上安装框架。...这三个任务分布在 project.json 四个主要部分(根据项目类型,将Frameworks 和 dependencies合并为功能重叠): Version version 这个属性是你所要构建组件最小元数据...HellodotnetCore.xproj 定义构建项目时将发生事项。最新版本可导入 Microsoft.DotNet.targets,它定义了利用新 DotNet.exe 命令构建任务。...本文简要介绍了.NET Core项目中最为重要一个配置文件project.json内容和相关工具,类库等基础信息,下篇文章我们聊聊如何构建多个Project解决方案内容。

2K80

dotnet pack

--include-source:该选项用于创建带有 src 文件夹符号包,该文件夹包含源文件。 将被打包项目的 NuGet 依赖项添加到 .nuspec 文件,以便在安装包时可以进行正确解析。...如果打包项目具有对其他项目的引用,则不会将其他项目包含在包。 目前,如果具有项目项目的依赖项,则每个项目均必须包含一个包。 默认情况下,dotnet pack 先构建项目。...示例部分介绍了如何在不同情况下使用 MSBuild -p 开关。 默认情况下,Web 项目不可打包。...无需运行 dotnet restore,因为它由所有需要还原命令隐式运行, dotnet new、dotnet build、dotnet run、dotnet test、dotnet publish...在执行显式还原有意义某些情况下,例如 Azure DevOps Services 持续集成生成,或在需要显式控制还原发生时间生成系统dotnet restore 命令仍然有用。

1.6K20

让你发布nuget包支持源代码调试

项目的目标是让任何构建NuGet 库的人都能够毫不费力地为其用户提供源代码调试。Microsoft 库(例如 .NET Core 和 Roslyn)已启用 Source Link。...在目前阶段, 不同框架(nfx, netcore 2.x, 3.x, 5.x),不同vs(msbuild)版本下, 对pdb文件处理各不相同....当然这个问题官方也在解决,但是比较缓慢, 反正知道这个问题就已经好几年了, 到目前位置github上issue还在讨论讨论去... 坏处 比较明显增加文件体积....验证我们dll或者pdb已经支持SourceLink了 首先我们先安装sourcelink工具. dotnet tool install -g sourcelink 接着测试一下我们dll是否已经支持了...如果你和我一样, 用gitlab私有git repo, 那可以继续看下去. 为gitlab私有源代码项目提供支持. 如果是gitlab私有git repo.

1.5K30

手把手教你写 Roslyn 修改编译

,这个文件和 sln 文件刚好在相同文件夹,所以通过这个方法就可以获得 sln 所在文件夹 项目文件已知属性(知道了这些,就不会随便在 csproj 写死常量啦) - walterlv MSBuild...只需要在项目文件夹,或者磁盘文件夹, E:\ 放下本文提供 Directory.Build.props 文件,整个文件夹内控制台项目就会输出 林德熙是逗比 想要知道是怎么做,请看下面 Roslyn...智能提示都能找到对应类,但是在 VisualStudio 编译或使用命令行 msbuild 编译时提示找不到类 Roslyn 通过 Nuget 管理公司配置 本文告诉大家如何用 Roslyn 管理配置...,在开一个新项目的时候经常需要添加公司,版权等,但是这些信息不想每次都添加于是就想用 Nuget 管理所有配置,安装一个 nuget 就自动配置 Roslyn 如何在 Target 引用 xaml...本文告诉大家如何在项目文件通过不同条件使用不同方法运行

2.1K20

.Net Core迁移到MSBuild平台(二)

一、前言 在上一篇文章.Net Core迁移到MSBuild多平台编译问题中,简单讲了下新项目配置文件节点配置,这篇将用一些例子来详细讲下从project.json迁移到msbuild过程节点配置...做过完整迁移新项目配置文件朋友,肯定会觉得新项目配置文件Msbuild配置太扯了,虽然能直接编辑项目文件,但整个配置文件没有了像project.json智能提示,当你在打开文件后你就会发现以前很轻松能写出来..." } 在csproj配置并没有对应定义,它只会有项目文件名相同:MyProjectName.csproj 程序集版本 (Version) { "version": "1.0.0-alpha...项目配置系统还是比较灵活,以后整个dotnet体系构建过程也都得到了统一。...在dotnet cli也集成了msbuild,即dotnet build。

1.7K20

必备DevOps工具链大盘点

它提供了一个 Git 仓库管理器,具备 wiki、问题跟踪和 CI/CD 管道功能,采用GitLab 公司开源许可。...MSBuild Microsoft Build Engine,更广为人知名字是 MSBuild,是一个开源免费托管代码和原生 C++ 代码构建工具集,是.Net Framework 一部分。...Visual Studio 就使用 MSBuild 作为构建工具。 Rake Rake 是一个软件任务管理和自动化构建工具。...Puppet 通过使用一个叫作 Facter 实用程序发现系统信息,Facter 是在安装 Puppet 软件包时一起安装。...这也是一个主要问题:一些框架 Hadoop 和 MPI,是独立开发——因此不可能在框架之间进行细粒度共享。 Mesos 目的是添加一个薄薄资源共享层,为框架提供访问集群资源公共接口。

1.8K30

从零开始针对 .NET 应用 DevOps 运营实践 - 运行环境搭建

持续集成(Continuous Integration):在传统软件开发过程,将个人开发代码与整个项目代码合并一般都会置于比较靠后阶段,而持续集成强调是开发人员提交了新代码之后,立刻进行构建...,对于 .NET Core 应用,完全可以采用 .NET Core CLI 各种命令实现,而对于 .NET Framework 程序来说,则需要一个执行应用程序生产平台,MSBuild 就是这样一个工具...,我们在开发过程中使用 Visual Studio 进行程序编译时,其实也是会借用 MSBuild 进行 因此,最简单办法,就是在服务器上安装 VS 即可,当然,这个过于简单粗暴了,以及在服务器上安装我们开发使用...,打开 CMD,输入下面的命令,即可按需下载需要组件到指定位置,例如这里是将下载好文件放在桌面上 msbuild 文件夹下 offline 文件夹 Copy vs_buildtools.exe...3.5、总结 自此,目前使用到软件所需环境就已经安装配置完成了,在下一篇中就可以安装我们主要使用到两个软件 Jenkins 和 SonarQube,从而配合我们已经存在 Gitlab构建自己

81331

ASP.NET Core 6框架揭秘实例演示: 编程初体验

本篇提供20个简单演示实例基本涵盖了ASP.NET Core 6基本编程模式,我们不仅会利用它们演示针对控制台、API、MVC、gRPC应用构建与编程,还会演示Dapr在.NET 6应用。...图1 执行“dotnet new”命令创建一个控制台程序 .csproj文件最终是为MSBuild服务,该文件提供了相关配置控制MSBuild针对当前项目的编译和发布行为。...SDK相等于为某种类型项目制定了一份面向MSBuild基准配置,如果在项目文件根节点设置了具体SDK,意味着直接将这份基准配置继承下来。...RequestDelegate对象,前者表示由后续中间件构建管道,后者代表将当前中间件纳入此管道后生成管道。...代码片段所示,该类型实现了IMiddleware接口,针对请求处理实现在InvokeAsync方法

1.3K20

从零开始针对 .NET 应用 DevOps 运营实践 - 运行环境搭建

持续集成(Continuous Integration):在传统软件开发过程,将个人开发代码与整个项目代码合并一般都会置于比较靠后阶段,而持续集成强调是开发人员提交了新代码之后,立刻进行构建...,对于 .NET Core 应用,完全可以采用 .NET Core CLI 各种命令实现,而对于 .NET Framework 程序来说,则需要一个执行应用程序生产平台,MSBuild 就是这样一个工具...,打开 CMD,输入下面的命令,即可按需下载需要组件到指定位置,例如这里是将下载好文件放在桌面上 msbuild 文件夹下 offline 文件夹 vs_buildtools.exe -...:指定需要下载组件,因为我们系统是 Web 项目,为了防止在 MSBuild 中生成出错,所以这里除了 MSBuild 还需要下载了一个 WebBuildTools --lang:指定安装语言...3.5、总结 自此,目前使用到软件所需环境就已经安装配置完成了,在下一篇中就可以安装我们主要使用到两个软件 Jenkins 和 SonarQube,从而配合我们已经存在 Gitlab构建自己

77931
领券