在要求输入邮箱的文本域,请填写真实的邮件地址。非真实邮件地址,将收不到回复信息。

标签:.net

开源项目记录

.Net WinForm(Windows Form)/WPF UI 界面库

背景 在某些情况下需要使用Winform/WPF 应用,WinForm/WPF 原生界面相对来讲还是比较丑。如果想要比较漂亮的UI,那么就需要自定义控件、商业控件或者现有开源的UI组件。这里对于商业的Winform/WPF UI不做任何介绍,以下推荐均是开源的WinForm/WPF 组件项目,允许商业使用。 AntdUI 基于 Ant Design 设计语言的 WinForm UI 界面库,致力于将现代美观的前端设计风格带入到桌面应用程序中。采用纯GDI绘图,不需任何图片资源,全面支持AOT,最低兼容 .NET Framework 4.0 特性 🌈 现代化的设计风格 🎨 精细绘制与流畅动画 🚀 在 Winform 上呈现最佳阴影效果 📦 无边框窗口,保留原生窗口特性...

3周前 (04-10) 315℃ 0评论 0喜欢

DotNet

EventBus.CAP实现对达梦数据库的支持

背景 因客户国产化需求,需要将数据库改为达梦数据库,除了使ABP支持达梦数据库以外,使用的第三方组件也要支持达梦数据库。经过Nuget包管理中查找并没有找到需要的组件,所以需要根据官方开源的其他数据库支持来实现达梦数据库的支持。 CAP达梦数据库的扩展实现 经过几天的修改以及测试,完成CAP达梦数据库的扩展实现。以下是github开源仓库。 DotNetCore.CAP.DM 使用DotNetCore.CAP.DM 在Visual Studio IDE的Nuget列表中找到DotNetCore.CAP.DM并进行安装,并进行以下替换。 var databaseType = configuration["DataBaseUseType:Type"]; databaseType = s...

1个月前 (03-31) 161℃ 0评论 0喜欢

DotNet

ABP集成达梦数据库

背景 因客户国产化需求,需要将数据库改为达梦数据库。所以要对现有的ABP项目进行达梦数据库的支持,目前项目使用的是MySQL,现在需要在支持MySQL的同时也支持达梦数据库。 链接字符串修改 在达梦数据库中创建一个用户并给这个用户赋予DBA的权限,在达梦数据库模式中创建一个与用户名一样的模式并设置模式的拥有者为新建的用户。 以下链接字符串使用默认的用户进行测试: "server=LOCALHOST;port=5236;user id=SYSDBA;password=New@2025;database=DAMENG" 添加新的配置节点,以便支持多种数据库。 "DataBaseUseType": { "Type": "dm", "Schema": "SYSDBA" } 添加达梦的EF库 添加达梦的EF库...

1个月前 (03-31) 163℃ 0评论 1喜欢

DotNet

Windows 11暂停更新时间延期的设置

背景 Windows 11更新频繁,某些时候设备使用中就自动重启更新了,为了避免系统更新带来不利的影响,在Windows系统中更改注册表内容修改系统更新时间。使用此种方法没有一些其他意外的情况,想更新的时候手动点击更新即可。 设置 在以下注册表节点下新增PauseFeatureUpdatesEndTime、PauseQualityUpdatesEndTime、PauseUpdatesExpiryTime这三项,字符串类型,时间格式为yyyy-MM-ddTHH:mm:ssZ(2025-02-09T021:56:56Z) 计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings 代码实现 internal class RegeditUtil { ...

3个月前 (02-09) 479℃ 0评论 0喜欢

开源项目记录

开源在线文档预览解决方案kkFileView

背景 因需要进行文档在线预览,所以才有以下内容。因付费方案不在选择范围,所以只能寻求免费开源的解决方案。经过查找发现除了LibreOffice 、OnlyOffice、kkFileView以外并没有发现其他可用的方案,也许是自己原因没有找到其他开源解决方案吧!由于没有在线编辑的需求,经过对比kkFileView部署以及使用极其简单,所以就选择了kkFileView。 kkFileView kkFileView为文件文档在线预览解决方案,该项目使用流行的spring boot搭建,易上手和部署,基本支持主流办公文档的在线预览,如doc,docx,xls,xlsx,ppt,pptx,pdf,txt,zip,rar,图片,视频,音频等等 项目特性 使用spring boot开发,预览服务搭建部署非常简便 rest接口提供服务,跨平台...

1年前 (2024-01-17) 1791℃ 0评论 0喜欢

Docker

在Docker容器下使用.net 5统计图中文乱码的问题

背景 客户新提需求,需要增加一张报表,报表需要增加统计图表。因为客户需要将数据以及统计图表一并导出到word中,所以没有使用前端统计相关的类库,比如:echarts、highcharts等库。虽然可以使用前端相关类库导出word,但是并不能满足现有需求。后台服务使用的是.net 5,统计图完成后发现中文出现乱码。如下图: 问题 出现以上乱码问题,其一可能是统计类库不支持中文导致的,也有可能是docker镜像中缺少相应的中文字体。因为在本地开发环境测试并没有问题,更新到测试环境后才发现以上乱码情况,所以应该是镜像中缺少相关中文字体而导致的。 解决 既然是缺少中文字体,那就安装字体就行了。在Windows系统中复制需要的字体到新建名称为chinese文件夹下,将此文件夹放到与dockerfile同一目录下即可。dockerfile文件中新增内容如...

2年前 (2023-09-24) 1632℃ 0评论 1喜欢

DotNet

Syncfusion.DocIO.Net.Core操作Word的第三方组件无限制版

背景 一些朋友推荐处理Word可以使用Syncfusion.DocIO,说是API比较好用而且还支持doc格式的文件,因此就了解一下。经过测试确认是比一些开源的处理库好用一点,支持相对来说比较完善,就因为这些所以才会有这篇介绍的内容。 Syncfusion.DocIO.Net.Core Syncfusion.DocIO.Net.Core是Syncfusion的一组.NET组件,用于创建、编辑和转换Microsoft Word文档。它支持多种文件格式,包括.docx、.rtf、.txt等。它提供了一组易于使用的 API,可以帮助开发人员轻松地创建、读取和修改 Word 文档。 主要功能 创建Word文档并添加内容、表格、图片等元素。 编辑Word文档中的文本、表格、图片等内容。 将Word文档转换为其他格式,如PDF、HTML等。 支持批量...

2年前 (2023-05-16) 2060℃ 0评论 3喜欢

Web前端

在非HTTPS站点中使用Content Security Policy引发的问题

背景 有一个客户需要对以前老项目部分功能进行升级,需要升级页面按照最新版本的内容进行更新,测试发现页面无法加载。F12使用开发者工具发现所有资源文件异常,所有的资源文件竟然自动将HTTP协议换成 HTTPS 协议。异常信息如下图所示: 项目目前部署是非HTTPS的,很奇怪为什么会自动转换为HTTPS资源。经过排查在异常页面中发现了问题,在head节点下发现以下代码 <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests"> 以上内容会将HTTP协议自动转换为HTTPS协议。 Content-Security-Policy Content-Security-Policy(CSP)允许站点管理者控制用户代理能够为指定的页面加载哪些资源。除了少...

3年前 (2022-10-25) 1818℃ 0评论 13喜欢

.net core

使用ABP框架UI找不到文件的异常

背景 自己的一个小应用使用了ABP框架最新内容创建了一个项目模板,为了快速的完成第一版就是用来ABP自带的UI框架。在测试项目模板正常与否的时候发现关于UI方面的异常信息,第一次使用ABP官方提供的UI框架,所以先在此做一下记录。 以下是异常信息: AbpException: Could not find the bundle file ‘/libs/abp/core/abp.css’ for the bundle ‘LeptonXLite.Global’! 解决方法 安装 abp cli命令行工具,地址 https://docs.abp.io/zh-Hans/abp/latest/CLI执行 abp install-libs,会自动把本项目最小依赖安装包自动安装到 /wwwroot...

3年前 (2022-10-05) 1294℃ 0评论 14喜欢

.net core

.Net Core获取Window系统机器码

背景 因为朋友想做一个软件认证相关的东西,所以考虑到关于电脑唯一标识机器码的问题。关于机器码之前并没有真正实现过,也只是了解大概的原理。今天就做一下简单记录,以便以后使用。 机器码 机器码指的是软件根据计算机的硬件信息,例如:CPU、内存、主板序列号等,按照一定的算法生成的一串无规律的字符串,并且在不同计算机上生成的机器码是不一样的,因为每台计算机的硬件信息不一样。机器码,也叫序列号、认证码、注册申请码等。 代码实现 using System.Management; using System.Runtime.InteropServices; namespace HonourWorld.Core.Common { public sealed class MachineCode { private read...

3年前 (2022-10-04) 3154℃ 0评论 5喜欢

C#

判断登录的QQ是否已经加入指定的QQ群之二

背景 任何事情都有一个原由,本篇内容也不例外。如标题所示,关于判断登录的QQ是否已经加入指定的QQ群的问题。为什么是之二?因为之前已经写过一次相关内容了。既然曾经已经写过一次为什么还要写第二次?因为今天早上收到了一个邮件通知,这个是博客评论通知,有人评论就以邮件形式告知。评论内容是这样的:c#那个QQ群验证已经无法使用了能更新下吗。如下图所示: 没有错,就如我回复的一样,示例程序的代码的确不可以用了,不过思路依然可以使用。 分析 其实没有什么好分析的,思路与上次一样。只是上次验证的地址(http://qun.qzone.qq.com)无效了,可能是下线了吧!不过QQ也有关于群里管理的网站(https://qun.qq.com/),这个网站依然可以实现这样的操作。实现比较简单,访问网址https://qun.qq.com/member.html并登录,然后通...

3年前 (2022-09-25) 5978℃ 6评论 9喜欢

.net core

.NET CORE实现SHA1

背景 因业务需求,需要保存一些指定的字符串,但这些字符串可能相同。为了避免重复存储造成数据大量冗余,所以需要对这些字符串进行一些散列计算。使这一些相同的字符串产生唯一的标识,实现业务上的需求。关于字符串散列算法还是比较多的,例如:MD2、MD4、MD5、Sha1、Sha256、Sha512等等,在结合字符串散列碰撞以及散列最终长度考虑,最后选中Sha1作为此次散列算法。 SHA-1 (英语:Secure Hash Algorithm 1,中文名:安全散列算法1)是一种密码散列函数,美国国家安全局设计,并由美国国家标准技术研究所(NIST)发布为联邦数据处理标准(FIPS)。SHA-1可以生成一个被称为消息摘要的160位(20字节)散列值,散列值通常的呈现形式为40个十六进制数。 .NET CORE 实现 SHA1 以下是使用.Net Core自带类库...

3年前 (2022-09-24) 2746℃ 2评论 3喜欢

.net core

.NET CORE引用Aspose.Words的异常Could not load file or assembly

背景 引用了一个第三方的dll库,编译无任何异常提示,但是运行就报异常。自从有了Nuget基本没有再使用直接引用dll这种方式了。经过确认dll也设置了输出到目录,在 bin目录也的确存在此dll库。 异常信息 Could not load file or assembly ‘Aspose.Words, Version=20.6.0.0, Culture=neutral, PublicKeyToken=716fcc553a201e56’. 系统找不到指定的文件。System.IO.FileNotFoundException: Could not load file or assembly ‘Aspose.Words, Version=20.6.0.0, Culture=neutral, PublicKeyToken=716fcc553...

3年前 (2022-08-01) 1592℃ 0评论 4喜欢

.net core

.net core在Linux系统报Gdip异常的问题

背景 .net core 应用中使用了Excel文件导出,发现Excel导出失败,导出的操作出现了异常。看了一下是Gdip的这个异常。这个异曾经见到过,记得也很快解决了,不晓得为什么又会出现呢?仔细看了一下,详细错误还是有点差别。经过确认上一次安装的libc6-dev、libgdiplus是存在的,并没有丢失或者损坏。 根据异常信息,基本可以确定是引用System.Drawing.Common类库引起的问题,经过排查发现引用的Excel组件Magicodes.IE.Excel.Abp包中有使用System.Drawing.Common。前几天还好好的,现在为何System.Drawing.Common不支持非Windows平台呢?只是确定引用的System.Drawing.Common库的版本是6.0,其他的就没有太多线索。 最后又看一遍异常信息,根据异常提示打开所提示...

3年前 (2022-04-08) 2350℃ 0评论 28喜欢

DotNet

C#使用正则表达式移除字串符前后指定的字符串

有时候一些需求,移除字符串前后指定的字符串。其实,如果没有仅移除一次的需求,使用系统自带的方法即可完成,使用Trim、TrimEnd、TrimStart方法也比较快捷。当有一些特殊需求的时候,这些方法就不再方便。所以,就使用正则表达式简单的实现相关需求。 字符串扩展代码实现 public static partial class Extensions { /// <summary> /// 移除字符串前后指定的字符串 /// </summary> /// <param name="value">字符串本身</param> /// <param name="trimContent">将要移除字符前后的指定内容</param> //...

3年前 (2022-04-04) 1685℃ 0评论 1喜欢

Docker

基于dotnet官方的aspnet5的镜像构建安装libgdiplus基础镜像

背景 在.net 5应用中,使用了Excel文件处理,在Docker容器中运行就会出现关于libgdiplus的异常。虽然在Dockerfile中可以使用以下内容解决异常,但是这个速度太慢了。每次构建慢的让人怀疑人生,最重要的是还可能失败。 RUN apt-get update && apt-get install -y libgdiplus libc6-dev && ln -s /usr/lib/libgdiplus.so /usr/lib/gdiplus.dll 为了提高构建速度,所以使用官方的基础镜像再二次构建一个基础镜像,默认安装 libgdiplus ,这样每次构建速度就会提升好多好多。默认安装了libgdiplus等库,以便支持Excel导入导出 构建基础镜像的Dockerfile Dockerfile ...

3年前 (2021-12-18) 2054℃ 0评论 64喜欢

DotNet

.Net访问Windows共享目录

背景 无意见又翻到了曾经的一些项目,看到了关于.Net访问Windows共享目录的一些代码。曾经在内网通过共享目录作为服务器文件的存储方式,个人觉得部分的实现代码可以记录下来作为备份。所以,整理了以下代码。 代码实现 公用内容 /// <summary> /// IdentityScope 的摘要说明 /// </summary> public class IdentityScope : IDisposable { // obtains user token [DllImport("advapi32.dll", SetLastError = true)] static extern bool LogonUser(string pszUse...

4年前 (2021-06-29) 1437℃ 0评论 11喜欢

DotNet

System.Data.OracleClient需要Oracle 客户端软件version 8.1.7或更高版本

背景 因业务需求需要进行数据同步,客户又没有提供相关的接口。经过协商,客户提供相关视图直连他们数据库。 数据库:Oracle 11g 问题 使用.net访问Oracle数据出现以下错误: System.Data.OracleClient 需要Oracle 客户端软件 version 8.1.7 或 更高版本 解决 找到Oracle安装文件夹找到oci.dll、oraociei11.dll两个dll文件将以上两个文件放到system32目录下或者程序的bin目录下 下载 Oracle_11g提取码:hrbc 以上下载地址中的文件就是本文中提到的两个DLL文件 转载请注明:清风亦平凡 » System.Data.OracleClient需要Oracle 客户端软件version 8.1.7或更高版本...

4年前 (2021-06-23) 2687℃ 0评论 7喜欢

DotNet

.NET读取Pem证书私钥解密

背景 因业务需求的需要,要与第三方进行相关的数据对接,按照第三方规定需要对其数据通过私钥进行RSA解密。第三方提供了相关的Pem证书文件,但是这种格式的证书文件.NET并不能直接使用,需要进行相关的转换。 pem在转XML时需要依赖一个第三方库BouncyCastle。 下载 BouncyCastle 如果通过官网下载比较慢,可以使用本博以上链接下载。 代码实现 using System; using System.Text; using System.Security.Cryptography; using System.IO; using Org.BouncyCastle.Crypto.Parameters; using Org.BouncyCastle.Security; namespace CommonTool.Share....

4年前 (2021-06-14) 2356℃ 0评论 10喜欢

C#

移除.net解决方案中TFS的绑定控制

TFS与解决方案绑定信息清理 tfs与解决方案之间有相关信息需要清理,以下是相关的清理步骤。 删除关联文件以及文件夹 删除项目目录下所有的*.vssscc、*.vspscc为后缀的文件,删除隐藏文件夹$tf 修改项目的解决方案文件 在目录中找到以*.sln为后缀名的解决方案文件,打开文件进行编辑。删除TeamFoundationVersionControl所在的整块内容并保存。 GlobalSection(TeamFoundationVersionControl) = preSolutionSccNumberOfProjects = 2SccEnterpriseProvider = {4CA58AB2-18FA-4F8D-95D4-32DDF27D184C}SccTeamFoundationServer = http:///tfs/defaultcol...

4年前 (2021-03-26) 1597℃ 0评论 20喜欢

.net core

ASP.NET Core Web Api实现大文件切/分片上传

一年前的一个项目,有人反馈上传超时,超时原因是文件大小超出限制。由于原来维护项目的人员离开,现在上传超时的问题就有我来处理。解决方案也比较简单,就是切片上传。前端不想自己写了,就利用了上传组件,这个上传组件是百度的WebUploader。WebUploader这个组件被使用的也比较广泛,为了省事就用它啦! 上传中 合并后 代码实现 前端代码 前端上传以及分片使用的百度上传组件WebUploader <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> ...

4年前 (2020-12-31) 3133℃ 0评论 8喜欢

DotNet

.NET操作达梦数据库编译错误处理

由于客户突然要进行国产化的一个要求,数据库使用更换了国产的达梦数据库,将数据由Oracle数据库迁移到达梦数据库。所以,之前基于Oracle处理的一些功能就需要进行一些调整。 使用NuGet 引入达梦数据提供器DmProvider  引用相关的组件后,就按照套路对已经存在的方法进行相关调整,结果出现了一些编译出错且无论如何调整都无法消除。如下: 错误 CS1705 标识为“Dm, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null”的程序集“Dm”所使用的“System.Runtime, Version=4.2.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”版本高于所引用的标识为“System.Runtime, Version=4.1.2.0, ...

4年前 (2020-12-07) 1832℃ 0评论 3喜欢

软件资源

.NET混淆加壳代码保护工具.NET Reactor最新版

.NET Reactor是一款功能强大的代码保护以及许可授权管理系统软件,主要用于开发人员保护其.NET软件程序,.NET Reactor支持所有支持.NET编译的程序开发语言。. .net Reactor功能介绍 .net混淆加壳保护工具.NET.Reactor.5.0 .net Reactor设置说明 .Net Reactor设置说明 下载 .NET.Reactor 6.3 提取码:k5wr 压缩文件设置了解压密码:www.skyfinder.cc 转载请注明:清风亦平凡 » .NET混淆加壳代码保护工具.NET Reactor最新版...

5年前 (2020-11-10) 1926℃ 0评论 26喜欢

MySql

.NET 使用MySql 8.0报caching_sha2_password错误的问题处理

背景 接手别人项目进行维护,使用Mysql 8.0 数据库正确还原,但是项目却无法启动,经过调试发现以下问题。 MySqlException Authentication method ‘caching_sha2_password’ not supported by any of the available plugins。 通常的报这个错误是因为它的身份验证方式是 mysql_native_password ,不是caching_sha2_password导致。 Mysql 官方相关资料:https://dev.mysql.com/doc/refman/8.0/en/caching-sha2-pluggable-authentication.html 解决方法 首先找到MySql 8.0 的安装目录,看一下是否存在my...

5年前 (2020-10-05) 4595℃ 0评论 8喜欢

DotNet

NET CORE将对象属性按照指定顺序输出

背景 因业务需求,需要与第三方进行融合登录。第三方融合登录接口有关于验签的要求,将解密的数据按照规定的顺序进行MD5进行签名验证并与提供的MD5签名作为对比。其加密的明文是Json字符串,解密后还原后要按照URl参数的形式进行排列进行MD5签名。 规定 加密参数(注:加密参数名称均为小写字母,没有使用驼峰法命名) 名称类型默认值简介sourceidString必传来源标识targetidString必传目标标识usercodeString必传用户唯一标识usernameString用户姓名idcardString身份证号码phoneString手机号码ounameString部门名称timeString必传当前时间戳,精确到毫秒 签名数据采用以上面表格顺序以及以下格式进行字段拼接 sourceid=skyfinder&targetid=sky&...

5年前 (2020-09-08) 1325℃ 0评论 6喜欢