前情概要随着容器和云技术的发展,大量的应用运行在云上的容器中,它们的好处是毋庸置疑的,例如极大的提高了我们的研发部署速度,快速的扩缩容等等,但是也存在一些小小的问题,例如难以调试.基于VM的部署我们可以通过安全的方式登录到主机上做一些你想做的事情,但是云上的容器那就是不太方便了(目前AWS的ECS已经有类似dockerexec的方式直接进入容器中了,其他的云未作了解).但是就算能进入容器也不意味着调试就好做了,通常来说使用的镜像都是经过优化和精简的(如果要调式可能需要安装大量的组件).所以,接下来介绍一下使用dotnet-monitor来内存转储(memorydump)运行在容器中的dotne
相信有很多伙伴都很喜欢自己造编程语言,在有现代的很多工具链的帮助下,实现一门编程语言,似乎已不是一件十分困难的事情。我利用SourceGenerator源代码生成技术实现了一个简易的中文编程语言,核心原理是将中文编程语言翻译为C#语言,从而完成后续的所有对接,完成了最简单的构建和运行。本文将告诉大家这个有趣的方式是如何实现开始之前,先给大家看看效果这是我设计的csg格式(ChineseprogramminglanguagebySourceGenerator)的中文编程语言,设计上完全参考(抄袭)了中文宏的实现方式。原本我是考虑抄袭易语言的,但是易语言更贴近是VB系的方式(?似乎也不能这么说)感
相信有很多伙伴都很喜欢自己造编程语言,在有现代的很多工具链的帮助下,实现一门编程语言,似乎已不是一件十分困难的事情。我利用SourceGenerator源代码生成技术实现了一个简易的中文编程语言,核心原理是将中文编程语言翻译为C#语言,从而完成后续的所有对接,完成了最简单的构建和运行。本文将告诉大家这个有趣的方式是如何实现开始之前,先给大家看看效果这是我设计的csg格式(ChineseprogramminglanguagebySourceGenerator)的中文编程语言,设计上完全参考(抄袭)了中文宏的实现方式。原本我是考虑抄袭易语言的,但是易语言更贴近是VB系的方式(?似乎也不能这么说)感
本文告诉大家如何使用Vortice进行D2D的离屏渲染功能,本文将在一个纯控制台无窗口的应用下,使用Direct2D1进行离屏绘制,将绘制结果保存为本地图片文件本文属于使用Vortice调用DirectX系列博客,也属于DirectX系列博客,本文属于入门级博客,但在阅读本文之前,期望大家了解了DirectX的基础概念本文使用的Vortice是SharpDx的代替品,是对DirectX的底层C#封装。使用Vortice底层库,能让C#代码比较方便的和DirectX对接。尽管本文使用的是Vortice库来调用DirectX相关的接口,但不代表着只有Vortice库能做此实现,可以将Vortice
本文告诉大家如何使用Vortice进行D2D的离屏渲染功能,本文将在一个纯控制台无窗口的应用下,使用Direct2D1进行离屏绘制,将绘制结果保存为本地图片文件本文属于使用Vortice调用DirectX系列博客,也属于DirectX系列博客,本文属于入门级博客,但在阅读本文之前,期望大家了解了DirectX的基础概念本文使用的Vortice是SharpDx的代替品,是对DirectX的底层C#封装。使用Vortice底层库,能让C#代码比较方便的和DirectX对接。尽管本文使用的是Vortice库来调用DirectX相关的接口,但不代表着只有Vortice库能做此实现,可以将Vortice
大家好,我是沙漠尽头的狼。.NET是免费,跨平台,开源,用于构建所有应用的开发人员平台。今天介绍使用ClickOnce制作软件安装包,首先我们先了解什么是ClickOne。1.什么是ClickOnce以下段落摘自微软文档:https://learn.microsoft.com/zh-cn/visualstudio/deployment/clickonce-security-and-deployment?view=vs-2022。ClickOnce是一种部署技术,使用该技术可创建自行更新的基于Windows的应用程序,这些应用程序可以通过最低程度的用户交互来安装和运行。ClickOnce部署克服
大家好,我是沙漠尽头的狼。.NET是免费,跨平台,开源,用于构建所有应用的开发人员平台。今天介绍使用ClickOnce制作软件安装包,首先我们先了解什么是ClickOne。1.什么是ClickOnce以下段落摘自微软文档:https://learn.microsoft.com/zh-cn/visualstudio/deployment/clickonce-security-and-deployment?view=vs-2022。ClickOnce是一种部署技术,使用该技术可创建自行更新的基于Windows的应用程序,这些应用程序可以通过最低程度的用户交互来安装和运行。ClickOnce部署克服
官方的dnSpy在2021时,由于某些吃瓜的原因wtfsck将dnSpy给Archived掉,在大佬被哄好之前,预计是不再更新。最新官方版本对dotnet6的支持较弱,对于很多dotnet6应用都无法成功调试,附加调试上去将会让应用卡住。好在dnSpy是开源的,也刚好lsj大佬改得动,于是改了一个支持dotnet6的版本什么是dnSpy神器?请看神器如dnSpy,无需源码也能修改.NET程序-walterlv我现在使用最多的调试工具,除了VisualStudio之外,就是dnSpy工具了。使用dnSpy可以让我方便调试用户端的应用。在完成了将团队里面最大的项目升级到dotnet6时,就在升级过
官方的dnSpy在2021时,由于某些吃瓜的原因wtfsck将dnSpy给Archived掉,在大佬被哄好之前,预计是不再更新。最新官方版本对dotnet6的支持较弱,对于很多dotnet6应用都无法成功调试,附加调试上去将会让应用卡住。好在dnSpy是开源的,也刚好lsj大佬改得动,于是改了一个支持dotnet6的版本什么是dnSpy神器?请看神器如dnSpy,无需源码也能修改.NET程序-walterlv我现在使用最多的调试工具,除了VisualStudio之外,就是dnSpy工具了。使用dnSpy可以让我方便调试用户端的应用。在完成了将团队里面最大的项目升级到dotnet6时,就在升级过
本文也叫跟着StephenToub大佬学性能优化系列。大家都知道在.NET7有众多的性能优化,其中就包括了对布尔和字符串互转的性能优化。在对布尔和字符串的转换的性能优化上,有着非常巧妙的思路,值得写篇博客记录在PerformanceImprovementsin.NET7-.NETBlog这篇官方开发博客里面提到了dotnet7的各个方面的性能优化,其中就包括了本身的主角,对bool与string互转的性能优化。此优化的核心实现代码请参阅https://github.com/dotnet/runtime/pull/64782在将"True"和"False"字符串和bool布尔互相转换时,假定不使