随笔分类 - .NET
用于发表C#、VB.NET相关使用的记录
摘要:/// <summary> /// 结构体转byte数组 /// </summary> /// <param name="structObj"></param> /// <returns></returns> public static byte[] StructToBytes<T>(T struc
阅读全文
摘要:一、Spire.Pdf 生成 PDF 文件存在水印问题 使用Nuget 添加 Sprie.Pdf 操作PDF文件,用法简单如下,但存在水印如下 : 1 /// <summary> 2 /// 合并 PDF 文件 3 /// </summary> 4 /// <param name="files">待
阅读全文
摘要:1、使用Microsoft.Build进行项目编译 static void Build() { // 项目文件路径 string projectFilePath = @"C:\Users\97460\source\repos\ConsoleApp1\ConsoleApp1\ConsoleApp1.c
阅读全文
摘要:1、根据IP地址和子网掩码判断子网范围 例如,本地IP为192.168.2.10,子网掩码为255.255.255.0,那么IP的范围:192.168.2.1~192.168.2.254。其中,当一个网段的掩码为255.255.255.0的时候,IP地址的最后一位不可以是255或0。因为这种掩码的网
阅读全文
摘要:一、问题描述 程序所使用的XML文件运行一段时间后,发现程序加载XML文件的时候报错,要么XML内容被清空,要么就是内容少了一些,节点不完整,不是有效的XML文件。 二、问题分析 针对此现场,查阅资料后发现一般是由于电脑突然断电所致。具体原因和操作系统写入文件时为了减少对硬盘的写入次数,而使用的延迟
阅读全文
摘要:1、C#调用外部程序 在C#中,通过Process类来进行进程操作。 Process类在System.Diagnostics包中,具体使用如下所示: Process.Start(processName) 对于比较复杂的调用,例如给被调用程序传入参数,以及从被调用程序获取数据,此时需要设定Proces
阅读全文
摘要:一、Roslyn添加引用集 通过Nuget添加Microsoft.CodeAnalysis.CSharp 引用集,需要注意.Net Framework4.6.1以上版本。 添加从成功后,引入以下空间命名: using Microsoft.CodeAnalysis; using Microsoft.C
阅读全文
摘要:一、Pipe管道通讯基本概念 管道是一种最古老也是最基本的系统IPC形式,主要有两种:匿名管道(普通管道)和命名管道。 匿名管道(普通管道) 普通管道允许两个进程按标准的生产者-消费者方式进行通信:生产者向管道的一端(写入端)写,消费者从管道的另一端(读出端)读。 因此,普通管道是单向的,只允许单向
阅读全文
摘要:一、使用PinYinConverterCore获取汉语拼音 最新在做一个搜索组件,需要使用汉语拼音的首字母查询出符合条件的物品名称,由于汉字存在多音字,所以自己写查询组件不太现实,因此,我们使用微软提供的CHSPinYinConv,CHSPinYinConv在.net core下载安装没有问题,但在
阅读全文
摘要:一、错误提示 当我们读取一个文件而该文件被占用时会报错如下信息: 二、解决办法 此问题发生一般是资源没被释放掉,但也存在如下可能性。我们对文件的操作非常频繁,所以写了特定的操作类/组件来维护文件之间的操作,知道特定的时刻才结束,常见的如日志,随着程序的启动便开始写日志,直到程序关闭。但其中也存在我们
阅读全文
摘要:在.NET 4.0之后,CLR将会区别出一些异常(都是SEH异常),将这些异常标识为破坏性异常(Corrupted State Exception)。针对这些异常,CLR的catch块不会捕捉这些异常。SEH异常通常是非托管代码抛出的。例如:调用c和c++的lib和dll库,都是非托管的。解决方法有
阅读全文
摘要:一、使用System.IO.Compression.ZipFile进行文件压缩与解压 System.IO.Compression 命名空间包含以下类型来对文件和流进行压缩或解压缩。 还可以使用这些类型来读取和修改压缩文件的内容。System.IO.Compression.ZipFile可以使用NuG
阅读全文
摘要:一、Google Authenticator 基本概念 Google Authenticator是谷歌推出的一款动态口令工具,旨在解决大家Google账户遭到恶意攻击的问题,在手机端生成动态口令后,在Google相关的服务登陆中除了用正常用户名和密码外,需要输入一次动态口令才能验证成功,此举是为了保
阅读全文
摘要:一、合并和拆分PDF文件的方式 PDF文件使用了工业标准的压缩算法,易于传输与储存。它还是页独立的,一个PDF文件包含一个或多个“页“,可以单独处理各页,特别适合多处理器系统的工作。PDF文件结构主要可以分为四个部分:首部、文件体、交叉引用表、尾部。PDF操作类库非常多,如下图所示,常用的类库有:S
阅读全文
摘要:一、Autofac简介 Autofac和其他容器的不同之处是它和C#语言的结合非常紧密,在使用过程中对你的应用的侵入性几乎为零,更容易与第三方的组件集成。Autofac的主要特性如下: 组件侵入性为零:组件不需要去引用Autofac。 灵活的模块化系统:通过模块化组织你的程序,应用程序不用纠缠于复
阅读全文
摘要:一、MEF是什么 Managed Extensibility Framework (MEF) 是用于创建可扩展的轻量级应用程序的库。 它让应用程序开发人员得以发现和使用扩展且无需配置。 它还让扩展开发人员得以轻松地封装代码并避免脆弱的紧密依赖性。 MEF 让扩展不仅可在应用程序内重复使用,还可以
阅读全文
摘要:一、串口连接的打开与关闭 串口,即COM口,在.NET中使用 SerialPort 类进行操作。串口开启与关闭,是涉及慢速硬件的IO操作,频繁打开或关闭会影响整体处理速度,甚至导致打开或关闭串口失败。非特殊情况,串口一次性打开后,在退出程序时关闭串口即可。在打开串口前,可以设置一些常用的参数。常用的
阅读全文
摘要:一、 什么是 log4net Apache log4net 库是帮助程序员将日志语句输出到各种输出目标的工具,它是从Java中的Log4j迁移过来的一个.Net版的开源日志框架。log4net 的一个显著特征是分层记录器的概念,使用这些记录器可以有选择地控制任意粒度输出日志语句。主要特征如下: 支持
阅读全文
摘要:一、计算机操作系统信息 (1)获取操作系统版本描述 /// <summary> /// 操作系统版本 /// </summary> public static string OSDescription { get; } = System.Runtime.InteropServices.Runtime
阅读全文
摘要:一、什么是注册表 注册表是Microsoft Windows操作系统和其应用程序中的一个重要的层次型数据库,用于存储系统和应用程序的设置信息。由键(key,或称“项”)、子键(subkey,子项)和值项(value)构成。一个键就是树状数据结构中的一个节点,而子键就是这个节点的子节点,子键也是键。一
阅读全文

浙公网安备 33010602011771号