lindexi

林德熙 - 微软最具价值专家和 .NET 基金会成员

林德熙

dotnet 用 ASP.NET Core 制作一个可以上传库文件的 NuGet 服务器

我在写一个有趣的 WPF 应用,我想要测试这个 WPF 应用的一个功能,这个功能就是一键点击自动推送 NuGet 包到服务器。我想要做一点自动化的测试,我需要有某个假装是 NuGet 的服务器用来接收我这个应用推送的 NuGet 包。用 ASP.NET Core 写一个假装的 NuGet 服务器,支持被 NuGet 推送包是特别简单的,本文就来和大家说说这个后台如何写

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

我现在的团队内部用的是 Gitlab 工具,在此工具上提供了 Gitlab CI CD 用于做自动化测试和构建。对于 CBB 来说,发布就是打出 NuGet 包然后上传到内部 NuGet 服务器。此时遇到的问题是,如何在 Gitlab 上执行打包,打包的时候如何指定 NuGet 包的版本号。因为 CBB 的特殊性,我要求每个 NuGet 正式发布的包都应该有一个对应的 Tag 号,这样将 NuGet 库安装到项目里面,之后发现问题了还能找到对应版本的代码 本文告诉大家如何配合 Gitlab 做自动推 Tag 时打包 NuGet 包。也就是本地打一个 Tag 号,推送到 Gitlab 上,就会出发 Gitlab 的自动构建,自动构建里面将会获取 Tag 版本号,然后打出 NuGet 包推送到服务器

dotnet core 打包构建提示 MSB3024 可能的原因

如果是在 Linux 下发布,可能是因为发布的可执行文件和文件夹重名

dotnet 入门到放弃 使用 .NET Core 卸载工具

我从 dotnet core 1 的版本到 3.1 的版本,中间安装了超级多的预览版,此时我的硬盘已经空间不够了。干的漂亮的 dotnet 提供了 .NET Core 卸载工具专门用来卸载 .NET Core 的 SDK 和运行时

dotnet 基于 debian 创建一个 docker 的 sdk 镜像

我不能用官方的镜像,因为我需要在小伙伴构建的 debian 镜像上面安装 dotnet sdk 用来做构建,其实在 docker 里面需要找到一个个文件,然后复制代码

dotnet tool 安装失败因为对应的库不仅包含工具

在开发 dotnet tool 时,我将规范编码的库作为 dotnet tool 发布,但是在发布的时候本地进行安装提示DotnetToolReference 项目类型仅可包含 DotnetTool 类 型的引用

dotnet 世界猜测 随机数的小测试

这是一个半技术向的博客,主题来源于我读过的某本书的片段,这是一个稍稍有些前置知识的故事,主题的大概内容就是假定世界存在某个规则序列,通过一代代的探索,可以获取到此序列的内容。本文将模拟此情形,写一个随机数的小测试应用,来不严谨的证明,或者准确来说是用代码讲述这个故事

dotnet 手工打一个 dotnet tool 包

现在依靠 dotnet 平台,可以方便分发工具,利用 NuGet 服务进行分发和使用工具。打一个 dotnet tool 包,可以将这个包上传到 NuGet 上,小伙伴通过和安装 NuGet 相同方式就可以将工具安装在本机上。本文将告诉大家如何手工打一个 dotnet tool 包,方便小伙伴自己写工具用来创建代码

dotnet 使用 ClearScript 执行 VBScript 和 JS 代码 无需浏览器

小伙伴都知道,使用 JS 的坑在于执行效率过低,速度过慢。如果是在客户端中,还开启一个浏览器,整个应用程序就会特别重。有没有什么方法可以让 dotnet 作为容器,执行 JScript 代码而不需要浏览器?其实有的,因为 VBScript 和 JS 代码都很好解析,所以有 ClearScript 支持使用 dotnet 解析代码执行

dotnet serve 一句话开启文件服务器 通过 HTTP 将文件共享给其他设备

在当前的 IT 领域,我推荐每个开发设备都应该安装 dotnet 这个工具,在 dotnet 这个工具上有大量开发者提供了无数好用的工具。本文要告诉小伙伴的工具是 natemcmaster 大佬提供了 serve 工具,可以用来开启本地文件服务器,使用非常简单。这个方案适合在 Windows 系统和 Linux 系统和 MAC 上使用,发布的 HTTP 服务可以在任何能访问到的设备上使用

dotnet 删除文件夹方法

使用 C# 可以在 dotnet 一句话删除文件夹,但是这个方法坑,本文给大家一个好用的方法删除文件夹

dotnet 修复 C# 8.0 语法编译失败

在使用 using 等新语法时,在 VisualStudio 2019 会自动判断框架版本,如在 net 45 就不会自动使用最新版本的语法,需要修改项目文件

dotnet 从零开始写一个人工智能

本文将不使用任何人工智能框架,只用简单的 dotnet 的类,自己搭建一个人工智能网络。本文适合小伙伴跟着一步步写

dotnet 使用 GZipStream 压缩字符串

在 dotnet 提供了 GZipStream 进行方便的 Stream 压缩,可以用这个方法压缩字符串

dotnet 三句命令行创建运行一个 web 服务程序

现在 dotnet 的服务创建十分具有效率,本文的前提要求是电脑上面已经安装了 dotnet 程序,接下来就是三句命令行的事情

dotnet 将C#编译为wasm让前端html使用

其实 dotnet 是全栈的首选,原因是因为可以开发的方向太多,比如大本营PC端,以及后台。还有移动端,包括 IOS 和安卓端。现在还能用来写前端,本文就来告诉大家如何在前端使用现有的C#代码,通过 WebAssembly 使用 C# 的代码支持完全静态的网页,也就是不需要任何后台的存在。同时使用 C# 编写的 WebAssembly 可以省去 js 编译时间,同时使用二进制的本地指令,运行效率也有极大的提升。兼顾了开发的友好以及更高的性能

dotnet 新 sdk style 项目格式的一些命名空间和引用

在使用 sdk style 的 csproj 项目格式,会发现右击引用找不到程序集,此时有一些命名空间没有找到。本文收集一些命名空间所在的引用

dotnet 进行二进制差分压缩文件

我需要对一个文件做二进制差分压缩,我有一个文件的起始点,在之后的每次更改我都记录文件的二进制的差分,这样就可以通过起始点和差分文件计算修改后的文件。通过二进制差分可以用来提高文件保存磁盘读写速度,也可以减少软件自动更新需要的文件大小

dotnet 判断其他进程未响应

在 dotnet 有很多方法判断其他软件的其他进程窗口未响应

dotnet 单元测试注入文件读写

在进行文件读写时,如果进行单元测试,是需要很多设计,因为本地的文件可能因为单元测试之间的占用,以及还原数据,会影响业务。本文告诉大家使用注入的方式,让文件读写一个抽象的对象

dotnet 新 sdk style 项目格式 文件冲突

在使用 dotnet 的 sdk style 项目格式,会默认在项目上引用文件,此时如果是从旧格式迁移,那么会发现文件冲突。多次引用相同文件

git无法pull仓库refusing to merge unrelated histories

本文讲的是把git在最新2.9.2,合并pull两个不同的项目,出现的问题 如何去解决 fatal: refusing to merge unrelated histories 合并两个不同历史的仓库

dotnet 通过 WMI 获取指定进程的输入命令行

本文告诉大家如何使用 WMI 通过 Process 获取这个进程传入的命令行

dotnet 获取指定进程的输入命令行

本文告诉大家如何在 dotnet 获取指定的进程的命令行参数

dotnet 判断特定进程存在方法

本文告诉大家几个方法判断特定的进程是否存在,同时对比这些方法的性能

dotnet 使用 System.CommandLine 写命令行程序

在写命令行程序的时候,会遇到命令行解析的问题,以及参数的使用和规范化等坑。现在社区开源了命令行项目,可以帮助小伙伴快速开发命令行程序,支持自动的命令行解析和规范的参数

git 修改commit日期为之前的日期

我在之前修改了一个文件,但是没有commit,现在我想要commit,日期为那天的日期 git 修改日期的方法很简单,因为有一个命令--date 可以设置 git 提交时间。 默认的 git 的提交时间会受到系统的时间的影响,如果想要系统的时间不会影响到 git 的提交时间,请使用本文的方式,自己指定提交的时间

dotnet 列表 Linq 的 Take 用法

在 dotnet 可以使用 Take 获取指定数量的元素,获取顺序是从前向后,而获取到的数量是小于等于传入的指定数量。如数组中元素的数量小于传入的指定数量,则返回数组中的所有元素。如果数组中元素的数量大于等于传入的数量,则按照数组或列表顺序返回指定数量的元素

dotnet 修复找不到 System.ServiceProcess 定义

本文告诉大家如果复制网上一段代码发现 System.ServiceProcess 提示找不到方法或定义,需要手动添加引用

dotnet 不申请额外数组空间合并多个只读数组列表

我在写一个简单的功能,需要将两个不同的数组合并到一起,但是我的功能只是做只读,如果合并的方法需要申请额外的内存空间,将降低性能。本文写了一个简单的方法,通过判断下标的方法做遍历多个数组组合在一起,通过判断当前获取的下标在对应哪个数组下标范围内,返回对应数组的元素

dotnet core 获取 MacAddress 地址方法

本文告诉大家如何在 dotnet core 获取 Mac 地址

dotnet 枚举当前设备wifi热点

在 dotnet 程序没有现有的方法可以列举当前设备的无线网卡找到的 WIFI 热点,需要写一点代码才能使用

dotnet 对 DateTime 排序

在写 DateTime 排序时,按照时间的先后,离现在过去越远的越小。按照从小到大排序,将会先排最过去的时间,最后的值的时间是最大的。将时间按照从1970开始计算秒数,可以算出数值,数值代表值大小

dotnet remoting 抛出异常

本文告诉大家如何在使用 .net remoting 的时候,抛出异常。

dotnet core 导出 COM 组件

在 dotnet core 3.0 支持将库导出为COM组件,本文告诉大家如何将代码导出为 COM 组件