今天在少珺小伙伴的协助下,使用了 gitlab 的 runner 给全组的项目做自动的构建。为什么需要使用 Gitlab 的 Runner 做自动构建,原因是之前是用的是 Jenkins 而新建一个底层库项目想要接入自动构建等,需要来回在 Gitlab 和 Jenkins 上配置,大概步骤差不多有 20 步,同时还有一堆 Jenkins 的坑。另外服务器是共有的,有其他组的小伙伴安装了诡异的工具让我的打包不断炸掉。于是我就和头像大人商量使用虚拟机环境的方法,我在空闲的服务器上安装了 VirtualBox 虚拟机,然后在虚拟机部署 Runner 接着在项目接入,这样就可以确定打包的环境,同时迁移服务器也比较方便
微软放弃Sandcastle有些年头了,微软最近开源了全新的文档生成工具DocFX,目前支持C#和VB,类似JSDoc或Sphinx,可以从源代码中提取注释生成文档之外,而且还有语法支持你加入其他的文件链接到API添加额外的说明,DocFX会扫描你的源代码和附加的文件为你生成一个完整的HTML模版网站,你可以自己通过模版定制,目前已经内嵌了几个模版,包括静态的HTML页面和AngularJS页面。你还可以自己定制模版,具体参考 how to create custom template。 源代码: http
在软件开发工作中,代码依赖管理是个绕不过的话题。针对依赖管理,不同的语言、工具、平台和团队都有自己的解决方案。本文将会介绍 GitHub 推出依赖版本更新工具 Dependabot。正如其名字,Dependabot 就是一个机器人,用来自动更新项目依赖,确保仓库代码依赖的包和应用程序一直处于最新版本。经过一段时间的试用,笔者认为这是一款不错的工具,尤其对于开源项目。
在上一篇博客告诉小伙伴如何使用 github 做持续集成,本文告诉大家如何配置 github 让在 master 每次合并都会自动创建一个 nuget 文件,自动上传
内容 Using .NET Hardware Intrinsics API to accelerate machine learning scenarios 用硬件加速机器学习 Fantomas
在使用 dotnet 打 NuGet 包的时候会发现是每个项目都生成独立的一个 NuGet 包,通过 NuGet 引用依赖指向依赖的项目。那为什么不是我最终只打出一个 NuGet 包,这个 NuGet 包,包含了所有的项目的输出文件?每个项目独立输出是为了解决什么问题?下面让我为你解答
一、本地dll如何打包,以及版本的更新 本小节主要介绍两种方式将本地dll打包为Nuget包, 1.1 利用nuget.exe进行打包(应用于.net framework) 1. 下载nuget.ex
最近部门,在开发的时候遇到一个问题,现在有项目A B C三个项目,项目B和C分别提供了组件库由项目A直接引用。那么每次开打项目A获取最新后,同时还得打开项目B C获取最新然后编译一次。抛开设计方面的问题,假如以后还多了项目E F G,引用和被引用,那么打开一个项目想编译一次,还得同时打开N个项目。当时把问题反馈后,有人建议使用NuGet。
在 Nuget 中没有 -version 和 -v 和 --version 等写法,只需要直接输入 nuget 在第一行就会显示版本号
发布于 2018-04-24 10:03 更新于 2018-06-29 08:52
但是,如果我们想在我们的私有nuget服务器上有这个包,我们还需要把.nuget文件传到我们私有nuget服务器上;
NuGet是.NET世界的包管理器,有官方的nuget.org,也允许构建公司和私人的服务器。在.NET Core的时代,封装一个NuGet包比以往更容易,我们来看看吧!
官网定义:NuGet是.NET的软件包管理器(免费)。NuGet客户端工具提供了生成和使用软件包的能力。NuGet Gallery 是所有软件包作者和消费者都使用的中央软件包存储库。
上星期发布了NuGet的使用和服务搭建后,同时NuGet在部门里也使用了起来。经过这些天的使用,总结了些小技巧和注意点,希望和大家分享下。
已添加 NuGet 4.8 + 跨平台插件支持。In NuGet 4.8+ support for cross platform plugins has been added.
如果你希望做一个 NuGet 工具包,那么这个包一定不能作为依赖传递给下一个包。典型的例子,做一个生成版本号的工具 NuGet 包,或者做一个代码分析器。
要发布 NuGet 包,只需要执行命令 nuget push xxx.nupkg 即可,或者去 nuget.org 点鼠标上传。
我们做一个项目,除了自己的代码文件之外,实际上还要引用诸多代码文件,这些文件可能是我们自己封装的底层框架代码,或者为了完成某个功能而引用的工具类文件等等。在.NET里边,这些可被引用的,负责完成某个可复用功能的代码,我们可以封装为动态链接库(Dynamic Link Library,.dll),也可以通俗说打包,在需要的地方,我们把这个包引用到项目中,就可以使用其功能。NuGet就是一个专门管理这些包的平台,所有开发者可以将自己的优秀代码打包上传到这个平台,供全球开发者使用。并且,在这个平台上,我们可以查看到这个包的依赖,比如这个包依赖.NET Framework 4.5的环境,那我们就知道自己的项目可不可以使用这个包,或者这个包可以还要依赖一些另外的包,我们可以清楚的了解到这一整个层级关系。
发布于 2018-07-04 13:29 更新于 2018-09-04 13:08
MSBuild 不愧是强大的编译器,它提供的扩展机制让你几乎可以编译任何类型的文件或项目;Roslyn 是全新编写的一套编译器,不过它保留了 MSBuild 的大部分机制;NuGet 是 .NET 生态系统中的包管理机制,被原生集成在新的 Microsoft.NET.Sdk 中。
以上就成功部署了自己的NuGet服务器了。关于.nupkg文件其实就是程序的安装包压缩文件,它包含了程序包的版本信息,dll及相关的外部依赖,NuGet安装包时会进行自动解压。因此上传至NuGet服务器Packages目录的只需要.nupkg文件。
我想目前每个.net开发人员都应该知道nuget.org和NuGet软件包吧。但是,您是否曾经尝试并创建过一个nuget包呢?Nuget软件包比较容易引入到类库中。因此,可以使用NuGet软件包管理器将nuget软件包添加到任何项目中。
本文整理 dotnet 打包 CBB 组件为 NuGet 包时可以使用的配置的各个属性
其实这两篇博客我都写过,但是放在一起方便我新建项目的时候复制代码。在 GitHub 的首页上,很多开源项目都会写出当前构建是通过还是不通过,如果是提供 NuGet 包的还添加 NuGet 版本图标
源码路径:Github-LearningMpaAbp 1. 升级Abp 本系列教程是基于Abp V1.0版本,现在Abp版本已经升级至V1.4.2(截至至文章发布时间),其中新增了New Feature,并对Abp做了相应的Enhancements,以及Bug fixs。现在我们就把它升级至最新版本,那如何升级呢? 下面就请按我的步骤来将Abp由V1.0升级至V1.4.2。 1.1. 过滤Abp Nuget包 VS打开解决方案文件,右键解决方案(不是某个项目),选中【管理解决方案的Nuget程序包(N)..
在上篇博客[Cake] 1. CI中的Cake中介绍了如何在CI中利用Cake来保持与CI/CD环境的解耦。
写这篇文章的原因是我在学习构建nuget包的时候,发现了一个官方推荐的GUI工具,而官方的工具介绍文章已经过时,一些地方和现在最新版本的工具有些差异,所以特意利用假期最后一个下午写下来,希望能帮助更多的人。毕竟,在我看来,从事..NET开发的很多朋友,并不是特别迷恋命令行这种看起来高大上但是实际上并没有高效可言的东西(起码在Windows平台上是这样吧) 下载与安装 您可以导航到这里下载并在线安装这个工具包,我目前没有找到离线安装包,但是索性codeplex不像nuget那么惨,时不时的被…是吧,你懂的!
内网搭建NuGet服务器,实现像Maven管理jar包一样,管理dll,搭建公司内部的dll管理平台,避免不同版本到处拷贝引起的版本冲突和dll更新混乱的问题
被微软收购的 GitHub 越来越好用,拥有大量免费的工具资源和构建服务器资源,再加上私有项目的无限制使用,我有大量的项目都在向 GitHub 迁移。通过 GitHub 的 Action 的自动构建,可以用上微软土豪的服务器资源,进行自动化测试和构建。对于 CBB 来说,发布就是打出 NuGet 包然后上传到内部 NuGet 服务器。此时遇到的问题是,如何在 GitHub 上执行打包,打包的时候如何指定 NuGet 包的版本号。因为 CBB 的特殊性,我要求每个 NuGet 正式发布的包都应该有一个对应的 Tag 号,这样将 NuGet 库安装到项目里面,之后发现问题了还能找到对应版本的代码
NuGet是个开源项目,项目包括 NuGet VS插件/NuGet Explorer/NuGetServer/NuGet命令行等项目,.NET Core项目完全使用Nuget 管理组件之间的依赖关系,Nuget已经成为.NET 生态系统中不可或缺的一个组件,从项目角度,将项目中各种组件的引用统统交给NuGet,添加组件/删除组件/以及更新组件即可一键完成,大大提升工作效率,减少不必要的引用报错。从运维角度,可在不影响老版本的情况下发布新版本,可统一管理公司各个项目中组件版本不一和各个版本组件的使用情况,减少
发布于 2018-08-05 13:22 更新于 2018-08-18 03:04
发布于 2018-05-10 13:49 更新于 2018-06-30 01:30
首先出现这个bug的是在我的vs2017社区版的ide上,这两天使用了出现了一个非常神奇的问题,就是我程序中的nuget包总提示找不到源文件,并且我点击Nuget还原的话还一直提示着一个问题。
我现在的团队内部用的是 Gitlab 工具,在此工具上提供了 Gitlab CI CD 用于做自动化测试和构建。对于 CBB 来说,发布就是打出 NuGet 包然后上传到内部 NuGet 服务器。此时遇到的问题是,如何在 Gitlab 上执行打包,打包的时候如何指定 NuGet 包的版本号。因为 CBB 的特殊性,我要求每个 NuGet 正式发布的包都应该有一个对应的 Tag 号,这样将 NuGet 库安装到项目里面,之后发现问题了还能找到对应版本的代码 本文告诉大家如何配合 Gitlab 做自动推 Tag 时打包 NuGet 包。也就是本地打一个 Tag 号,推送到 Gitlab 上,就会出发 Gitlab 的自动构建,自动构建里面将会获取 Tag 版本号,然后打出 NuGet 包推送到服务器
我们的开发经常使用别人的dll,那么我们需要每次都从网上下载,然后复制到我们的项目, 而不知道我们的dll是否安全? 当我们的库更新的时候,我们又需要从网上搜索,这样不好,于是我们就用Nuget,Nuget可以 让我们把我们做出来的东西发在网上让别人下载,需要搜索名称就可以下载,然后更新会通知 本文主要讲我们如何制作一个库上传Nuget,让别人可以使用,做法很简单,先下载软件后制作,上传。
通过推送 Tag 才打 NuGet 包的方法的作用不仅仅是让打包方便,让打包这个动作可以完全在本地执行,无需关注其他系统的使用步骤。更重要的是可以强制每个可能被安装的 NuGet 包版本都能有一个和他对应的 Tag 号,原因是为了解决回退到某个版本发现有一个坑,这个坑是因为某个依赖库的版本问题,此时我期望最小改动,我虽然能拿到这个库的代码,但是我很难知道我这个版本安装的 NuGet 库对应依赖库的哪个 commit 的代码
在包管理以前我们在项目中引用第三方包通常是去下载dll放到项目中再引用,后来逐渐发展成各种包管理工具,nuget就是一种工具,适用于任何现代开发平台的基本工具可充当一种机制,通过这种机制,开发人员可以创建、共享和使用有用的代码。 通常,此类代码捆绑到“包”中,其中包含编译的代码(如 DLL)以及在使用这些包的项目中所需的其他内容。 Linux 我们可以使用apt、yum来安装软件,js 可以使用npm来搭建下载,Java 有maven管理包,而对于.net nuget就是同样效果和机制的工具。
原文 https://devblogs.microsoft.com/dotnet/dotnet-loves-github-actions/
在 VisualStudio 的团队管理功能,提供了方便的添加 Tag 的方法,可以新建一个 Tag 添加 Tag 信息,同时推送某个特定的 Tag 到服务器。配合推 Tag 打包 NuGet 的方法,将可以让整套工具用起来特别爽,完全本地化打 Tag 推送就完成了 NuGet 服务器打包推送
现在,在档期按目录下面生成了一个叫Google.Grpc.1.20.0.nupkg的包
这样就将包发布到https://www.nuget.org上了,如果要发布到内网私有的nuget管理,这个地址也要替换成私有的地址。
官网上的解释:NuGet is the package manager for the Microsoft development platform including .NET. The NuGet client tools provide the ability to produce and consume packages. The NuGet Gallery is the central package repository used by all package authors and consumers. 大致的意思:NuGet 是一种 Visual Studio 扩展工具,它能够简化在 Visual Studio 项目中添加、更新和删除库(部署为程序包)的操作。 可以去看一下NuGet 百度百科的介绍。
继阿里巴巴开源镜像站(https://opsx.alibaba.com/)、华为云镜像站点(https://mirrors.huaweicloud.com/ )之后,腾讯也已于近日上线了类似的服务,官方名称为腾讯云软件源(Tencent Open Source Mirror Site),为国内开发者提供新的软件镜像源选择[https://mp.weixin.qq.com/s/T43MZSDiN04EdgirBif1GQ]。与国内其他同类服务相似,此开源镜像站提供了主流的Linux发行版安装镜像下载以及软件源镜像,还有几大语言程序包的仓库服务,比如Node.js的npm仓库和Python的pip仓库以及dotnet的nuget 仓库。Nuget 镜像地址是(https://mirrors.cloud.tencent.com/nuget/)。
Xamarin Studio 最近发布了 5.2 版本, 带来了一些相当棒的特性, 其中有一些特性甚至超越了 Visual Studio 2013, 接下来就介绍我认为最棒的并且比 VS2013 要好用的三个特性:
龙芯平台.NET,是龙芯公司基于开源社区.NET独立研发适配的龙芯版本,我们会长期进行安全更新和错误修复,并持续进行性能优化。社区.NET7版本开始已经原生支持LoongArch64架构源码。具备如下特性:
几个月前上传过一次nuget包,结果好久不用,今天想更新下,完全忘记了怎么用了,又是一顿查,所以决定记录下来,当然这可能不是一个傻瓜式的教程,但聪明的你们应该能够看明白的,因为整体操作还是很简单的 好了,让我们开始吧 创建类库 首先创建一个类库,就是你想要发布到nuget的类库,在AssemblyInfo.cs编辑程序集版本信息,重新生成,好了,这一步就完成了,哈哈哈 下载并注册nuget nuget地址:https://www.nuget.org/ 你需要在这个网站注册一个账号,期间会有邮箱验证,验证成
Nuget 是免费、开源的包管理工具,专注于在 .Net、.Net Core 平台应用开发过程中第三方组件库的管理,相对于传统单纯的 dll 引用要方便、科学得多。 其中 nuget.org 是最著名的 NuGet 公开库,但是企业内部开发的(业务)公共组件因为私密性或商业机密不能上传到公共库中,所以企业内部需要搭建一个私有的 NuGet 仓库【私服】来支持。虽然微软有提供的 NugetServer,但 NugetServer 用起来并不那么方便。 而且企业有可能不止使用 C# 一种语言,可能其他的语言组件也需要管理,比如:Java、Docker 镜像 等,NugetServer 就捉襟见肘,本文我给大家带来一款全能型的私服软件 Nexus。
dotnet [--version] [--info] [--list-runtimes] [--list-sdks]
领取专属 10元无门槛券
手把手带您无忧上云