2024-09-06 23:36:17
勇哥注:当你重新安装win10后,安装vs2022 社区版的时,报错this application requires .net Framework 4.6 or higher to be installed是不是很烦人,因为这个时候,你可能一时找不到4.6在哪里可以下载吧?如图 解决办法:只能去 https://go.microsoft.com/fwlink/?linkid=840938 下载...
2024-09-03 13:50:51
勇哥注:vs2022的C#代码,下面这个问题,报得人服服贴贴。原因很简单,你的资源文件有问题,VS无法读取。在勇哥这里是因为它被公司的软件加密了。这加密软件不加密别的,经常加密vs的资源文件玩。详细报错信息,见下图的截选:信息很长,报得人头皮发麻。下面这篇博文也遇到类似的问题,不过它这是人工制造出来的问题:https://blog.csdn.net/chen1083376511/article/d...
2024-08-15 19:45:31
勇哥注:最近开发的软件遇到一些问题,主要是爆cpu时间,这样的后果是软件运行时间一长就会越跑越慢,最终UI失去响应。用vs来排除,目前只知道对可疑代码进行失能,再配合任务管理器观察 :cpu使用率, cpu时间,线程,句柄等参数来判断可疑代码是不是有问题。如果搜索一下网络,貌似这个问题大部分答案只是对线程做sleep,没啥子可用的信息。因此是时候涨点知识了,我把学习方向放在用WinDbg调试用户模...
2024-08-12 19:21:23
如下图所示:虽然 搜索结果中出现 System.ServiceModel.Primitives,但是此时还在转圈中,因此你现在安装的话,就只有低版本4.10.3。而转圈结束后,你会发现版本跳到最新的8.0了。这真是个nuget的愚蠢的设计,换任何一个人都可能会认为包出现在列表中,就直接选择安装就行了。哪会想到更高的版本还在持续加载中!...
2024-07-22 17:08:51
Frida是一款基于Python + JavaScript的hook框架,它主要使用动态二进制插桩技术(DBI)来实现其功能。以下是对Frida hook技术的详细解析:一、Frida概述Frida是一个动态代码插桩工具,它允许在运行时向应用程序注入JavaScript代码,从而实现对应用程序的监控、修改和调试。Frida支持多种操作系统和平台,包括Android、iOS、Windows、Linu...
2024-07-20 11:59:39
一、概述1、什么是ESB就是企业数据总线的意思,他的核心功能就是兼容各种协议接口,可以将数据在各种协议之间进行流转,并且可以针对数据格式进行编排转换。(格式转换、协议转换、代理、编排、安全控制、监控、不支持高并发,类似于路由器维护着一张路由表进行路由转发)代表性的项目有:JBOSS ESB,Mule,Camel 以及一些其他的esb项目2、什么是服务注册就是将所有的服务接口(很多时候是hessio...
2024-06-17 07:59:40
常见的三种技术:SO 面向服务 (SOA面向服务架构)OO 面向对象 (OOP 面向对象编程范式)CO 面向中组件 (COP面向组件编程范式)以上三者体现的是一种对关注点进行分解的思想,而向服务是和技术无关的。有关几种范式的详细情况见勇哥下面的文章:常用的编程范式以及C#对它们的支持情况 http://www.skcircle.com/?id=2247SOA 面向服务的架构对...
2024-06-08 14:40:39
方法就是在工程的属性中设置“多个启动项目”。如下图所示:这样我们可以同时调试wcf应用的hosting,和客户端Client了。...
2024-06-07 09:15:00
这方面勇哥的理解有些混乱,特别查了一下资料:简单的说,就是你wcf的元数据,就是用wsdl来描述的,你通过浏览器访问元数据,显示的就是wsdl的内容。而wcf本身实现Application的通信问题,各个子系统之间是通过XML Message进行交互的,这个XML Message就是使用soap(一种标准化定义的消息格式)发布的。问题说的“wcf基于soap协议”这种说法是不正确的,soap根本不...
2024-06-06 21:55:19
由于谷歌翻译停止了在中国的服务,所以导致现在chrome在线翻译是失效的。可以使用一个小工具,来修复翻译。它是 GoogleTranslatelpCheck,是github上一个开源的小工具。它的有的是扫描国内可用的谷歌翻译ip,会自动写入host文件Play实验室博客:
作者:勇哥,很想停止 | 分类:.net程序调试 | 浏览:452 | 评论:0
2024-06-06 09:50:47
在C#中,Dispatcher是一个重要的概念,特别是在与UI框架(如Windows Presentation Foundation (WPF)和Windows Forms)相关的应用程序中。以下是关于Dispatcher的清晰解释:定义Dispatcher是一个用于管理和调度多线程操作的对象,特别是在UI线程中。它确保在UI线程之外执行的操作能够同步地在UI线程上执行,从而避免线程冲突和UI元素...
2024-05-16 22:19:18
勇哥注:如果想把wcf服务架在iis上面,然后用web前端页面来访问wcf服务。然后我们拿一台平板或者手机就可以访问到了,这样我们就可以把手机或者平板做为触摸屏来调机了!第一步,我们得让手机能访问到电脑上的网页。首先你的电脑上得有一个无线网卡,并且支持开启wifi热点.开启成功后的样子如下图:这个东西上右键,可以设置。然后我们主要是看那个密码。然后把你的手机连接上这个热点。在你的手机浏览器的内容栏...
2024-05-14 14:51:42
勇哥注:ConcurrentDictionary 是线程安全字典,它能保证在多线程读写的情况下,数据不会乱套。其中TryUpdate的第三个参数怎么用呢?网上大部分都是抄的AI的这个例子,那个out从何而来呢? 这答案基本上是狗屁打胡说。这第三个参数指的是: 在当前值等于参数3的情况下,才更新新值newvalue,否则更新失败返回false。比较奇怪的作用,勇哥也想不出为啥这样设计。见下面的例子...
2024-05-11 10:14:36
前言 年初.NET工程师的求职者反馈不好找工作,尤其是B/S开发,C/S开发稍微好点。这种情况下有好多小伙伴都想转行了,于是了解了一下JAVA,比.NET还卷,还是走.NET内部转行吧,转C/S桌面开发。本文介绍.NET几种桌面开发技术的方向,大家可以参考一下,具体如下。一、简介WinForms (Windows Forms):WinForms是一个基于Windows API的GUI框架,是...
2024-04-25 11:04:08
从2023年12月15日的最新情况来看,.NET已经淘汰的技术主要有以下几类:.NET Framework 4.8之前的版本:.NET Framework 4.8是.NET Framework的最后一个版本,于2019年11月发布。微软已经宣布,将于2023年11月10日停止对.NET Framework 4.8之前的版本提供支持。因此,使用这些版本的.NET Framework的应用程序将不再获...
2024-04-11 08:46:20
在运行C#桌面程序的时候发现,当其安装在D盘的时候能够正常运行,但是装在C盘的时候就无法运行了,经过调试发现是缺少权限造成的,如何添加程序启动管理员权限?在VS中,项目右键→属性→安全性→勾选“启用ClickOnce安全设置”勾选保存后,在项目中会出现一个app.manifest的文件打开并将<requestedExecutionLevel level="asInvoker&quo...
2024-02-27 11:19:15
勇哥注:这里用代码方式演示一下Lua的语法,方便大家快速了解。Lua 是一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放,
其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。
设计目的
其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。
Lua 特性
轻量级: 它用标准C语言编写并以源代码形式开放,编译后仅仅一百余K,可以很...
2024-02-27 09:09:52
勇哥注:我们知道,当强制进行重新编译时,vs会删除bin目录的文件重新生成。如果这个时候你的代码不幸有地方编译错误,那么恭喜你,你再也不可能编译成功了,因为此时bin目录下的dll已经都删除了,因为依赖关系,此时你解决了编译错误也没有用。还有一种情况,是某个dll,在vs进行增量编译时,会被vs删除,但是这个dll又不是C#的dll,而是某个c++或者c的dll。这种情况下,会发生运行期报错。要解...
2024-02-24 17:16:11
在vs 的团队管理器中,中出现 conflict prevents checkout错误不要相信网上那些办法。其原因是:1。 要么是你有些更改没有commit2。 要么是你要删除掉未跟踪的文件右键菜单删除/排除 就行了...
2024-01-09 08:00:04
先引用下异常在功能上的标准说明:异常是在程序执行期间出现的问题。
C# 中的异常是对程序运行时出现的特殊情况的一种响应,比如尝试除以零。
异常提供了一种把程序控制权从某个部分转移到另一个部分的方式。
C# 异常处理时建立在四个关键词之上的:try、catch、finally 和 throw。
try:一个 try 块标识了一个将被激活的特定的异常的代码块。后跟一个或多个 catch 块...
2023-12-22 08:47:10
勇哥注:这种错误,就是你的.net Framework版本低了。貌似这个netstandard2.1.0.0 要求的是.net5.0了。具体.net对应这个netstandard的版本见微软说明:https://learn.microsoft.com/en-us/dotnet/standard/net-standard?tabs=net-standard-2-1 看到划线部分,已经明确说明.net...
2023-12-18 17:34:14
“异常设置” 窗口在 C# 中支持通用异常类型.设置vs>“调试”>“Windows”>“异常设置”搜索OperationCanceledException异常,然后将该异常打勾中断调试器中断时,会显示引发异常的位置。添加或删除添加或删除自定义异常 还原要将异常设置还原为默认值,请选择“将列表还原为默认设置” 继续执行如果使用仅我的代码调试 .NET 或 JavaScript 代...
2023-11-09 07:52:39
勇哥注:log4net通过配置文件,可以有自己的缓存机制,并且可以设置成支持多线程输出。另外还有日志级别和日志轮换功能。输出媒介可以指定文件、数据库等。文件类型可以为ini, log等。在开发软件时,建议还是不要再使用File.Write自己来写磁盘记录log,这样多线程写log时磁盘效率会很感人,并且维护也复杂,还是全部交给开源的log4net吧。下面是配置文件:<?xml version...
2023-07-14 11:26:47
C# 的 PropertyGrid是不是用得很爽。但是有一个缺陷一直让勇哥很不爽。当选择项是一个枚举或者List<string>的时候,用户可以点击下拉框进行选择。但是,如果使用这个下拉框,会有很大概率关闭不了这个属性窗体。即你按此窗体的关闭按钮,窗体也无法关闭。整个程序都被卡住了。只能用系统的任务管理器把程序强制关闭了。这种bug只会在推出下拉框的时候出现。怎么看都像是此控件固有的b...
2023-07-13 08:42:33
勇哥描述一下:如下面代码,当循环Task.Factory.StartNew到第9个的时候,会发现要隔约1秒才可以添加第9个,后面的第10,11,12,13,14 都要间格较长时间。如果你把下面代码中的while死循环去掉,则15个线程瞬间添加完成。这是什么原因呢? for (int i = 0; i < 15; i++)
{
var...
2023-06-12 17:31:36
勇哥今天用vs团队资源管理器“同步”时出现一个不一样的错误。错误如下:vs的输出窗口报告的完整信息如下:已在存储库 D:\xxxx 中本地创建提交 e76d4178
Remote: Enumerating objects: 43, done.
Remote: Counting objects: 2% (1/43)
Remote: Counting obje...
2023-03-24 09:32:41
勇哥注:此控件是继承TreeView控件重写的用户组件,主要特点是可以在节点文本右边添加按钮。按钮本身就是一个Button类,可以设置按钮的显示相关的属性,以及事件等。此控件可以方便提供IO、气缸、轴的测试功能,不用双击弹出另一个窗口做这些事。有效的提升了用户体验。使用方法说明:(1)此控件带一个WpfTreeHelper类,以方便操作控件(2)初始化树时,无论是根结点,还是子节点,都使用AddN...
2023-03-13 17:23:44
这篇文章是关于.Net的反射优化(有效率地使用反射)的技术。文中有翻译不准确、难以理解的内容可在评论出指点或咨询。概述反射(Reflection)是一种非常强大的.Net平台的特性。System.Reflection命名空间下提供了一套丰富的加载和调用程序集和对象的接口,除此之外它还提供了 了运行时动态地检索元数据信息的方法,比如获取属性、字段信息,特性信息等。使用反射确实可以使开发人员的生活变得...
2023-02-28 14:40:41
勇哥注:今天突然发现强制类型转换和as还是有点区别的。比如下面这句会抛异常:其中SACItemRunStatusEnum是一个枚举。ItemRunStatus= (Tuple<SACItemRunStatusEnum, int>)data异常信息如下:无法将类型为
“System.Tuple`2[Samsun.Domain.MotionCard.Common.SACItemRunSt...
2023-02-21 19:23:50
本文提供了一些性能优化的建议,这些经验来自于使用托管代码重写C# 和 VB编译器,并以编写C# 编译器中的一些真实场景作为例子来展示这些优化经验。.NET 平台开发应用程序具有极高的生产力。.NET 平台上强大安全的编程语言以及丰富的类库,使得开发应用变得卓有成效。但是能力越大责任越大。我们应该使用.NET框架的强大能力,但同时如果我们需要处理大量的数据比如文件或者数据库也需要准备对我们的代码进行...