跳转至

踩坑总结

Down.NET开发总结

这次从Down用C#重写,经历了很多大坑小坑,开发过程可以说是一波三折,经过了多次大面积重构,差点把项目改崩掉,下面对这次Down.NET重写做一点复盘总结

HandyControl自定义窗口问题

前段时间写XX工具的时候,用到了HandyControl组件库,在开发的时候想着自定义一个窗口,这样看着更协调一些,但是按照官方的Example实现的窗口并不好,一个是窗口是重写的,导致只能通过点击窗口上的按钮去关闭,另外,这个窗口在最大化和最小化的时候有些不协调,还有周围还有一点线条,看着有点奇怪,那么该如何自定义窗口而不引入这些问题呢?

正则表达式使用踩坑

前几天在XX工具中使用正则表达式匹配一些字符串,一开始匹配的字符串都是英文的,没有啥问题,后续需求变更,需要匹配一些中文字符,结果就出问题了。

C#开发踩坑总结

备注:以下是本人在使用C#开发一些项目时遇到的坑的汇总,以下解决思路仅代表个人观点,仅供参考

环境配置问题

1、.NET SDK问题

我在这里中提到使用.NET 6开发WPF会出现大量奇怪的报错,但是最近又莫名其妙的解决了,而当我尝试将原来的.NET 6 runtime 6.0.29升级到6.0.30,这个问题又会出现了。可能我的这种情况属于个例,但至少借此发现.NET SDK升级版本需要谨慎,有可能会出现一些奇怪的兼容等问题导致项目出现问题

使用pyzbar时踩的坑

近期在PM项目中增加扫描二维码功能,在开发期间(开发环境:Windows 11 23H2)没有遇到什么问题,结果打包并在测试环境(Windows 10 1809)运行时,发现怎么都无法启动,经过打印提示发现出现了下面的这个报错提示

Text Only
FileNotFoundError: Could not find module '你的路径\Python\Python38\site-packages\pyzbar\libzbar-64.dll' (or one of its dependencies). Try using the full path with constructor syntax

关于搭建.NET开发环境

阅读前说明

本文章并不是手把手教你如何搭建的教程,而是结合我踩坑经验的总结。

如果以下内容有错误之处,请自行忽略

这里先简单介绍一下C#与.NET的关系,可以简单的理解为你开发的软件需要在Windows系统上运行,C#可以类比于你开发的软件。.NET可以类比为Windows系统,.NET是一个平台,C#是运行在其上的一个语言,当然,.NET上可以运行的语言还有VB/F#等,但这里我只以C#为主,其他的语言开发环境其实是类似的。

升级pydantic遇到的问题

近期打算给某个项目所依赖的pydantic从1.x升级到2.x,之前通过查阅文档发现由于pydantic的底层用rust重写,导致很多API出现了不兼容问题,因此没有办法直接升级,需要将之前所有的数据模型修改一下,以下是我升级pydantic时对现有的数据模型类的重构过程

处理窗口大小的踩坑

最近在给某个项目设计窗口尺寸的时候,发现怎么设置都会出现设定尺寸和实际在窗口中的尺寸都不一样,而且距离屏幕左上角越远,差值越大,但是很奇怪的是我单独写的测试脚本都没有问题。后来无意间发现可能是这个项目的GUI设置了自适应高DPI1,这就导致实际在窗口中的尺寸和通过geometry()获取到的不一样,比如你在代码中设定的坐标系为x=100px、y=100px,如果是在100%缩放的系统中,通过测量获取到的位置确实是(100,100),但是在125%缩放的系统中,你能测量到的尺寸却是(125,125)