C#
xhubobo
这个作者很懒,什么都没留下…
展开
-
解决VS2012在C#环境下调试ATL的问题
在创建好ATL工程供C#工程(例如WPF)调用之后,在C#项目里按F11无法进入ATL内部调试,解决方法是:C#工程右键=》属性=》调试=》勾选“启用本机代码调试”。原创 2018-01-29 13:04:03 · 407 阅读 · 0 评论 -
Protobuf-net使用示例
本示例使用ProtoBuf的.Net社区版本:https://github.com/mgravell/protobuf-net。创建控制台程序,从NuGet中搜索并安装作者为Marc Gravell的版本。1、GIthub示例(包含关系) [ProtoContract] class Person { [ProtoMember(1)] ...原创 2019-04-18 19:52:12 · 3745 阅读 · 0 评论 -
编写高质量代码改善C#程序的157个建议摘要1:语言篇2
第4章 资源管理和序列化建议46:显示释放资源需继承接口IDisposable(1) 托管资源:由CLR管理分配和释放的资源,即从CLR中new出来的对象;非托管资源:不受CLR管理的对象,如Windows内核对象,或者文件、数据库连接、套接字、COM对象等。(2) 应该使用Dispose模式来继承IDisposable接口。(3) 如果类型需要显示释放资源,那么一定要继承IDispo...转载 2019-04-23 14:27:55 · 356 阅读 · 0 评论 -
禁用Windows高DPI的两种方法
Windows的高DPI支持是通过DWM(Desktop Window Manager)缩放实现的,但是有时候我们不希望这种效果(例如缩放会使一些内容变得模糊),因此需要禁用Windows高DPI对程序的缩放。有两种方式可以实现这种效果:一个是使用应用程序清单文件,一个是使用系统API实现。1、使用清单文件这里以Winform为例,右键项目->添加->新建项->应用程序清...原创 2018-11-09 17:24:31 · 8638 阅读 · 0 评论 -
Unity3D引用System.Data引发的问题
环境:Unity 2018.1.0f2,Visual Studio Enetrprise 2017 - 15.7.6描述:Unity中引入System.Data.dll之后可以正常运行,但是双击脚本进入VS2017编辑界面,生成项目时会提示引用错误。解决:经过和同事的VS编辑环境作对比,发现在VS修改界面只要将.Net桌面开发不勾选,点击修改后VS就能顺利编译通过。后记:虽然这样解决...原创 2018-08-08 13:11:37 · 4679 阅读 · 0 评论 -
使用Log4Net动态发送UDP日志
在Log4Net的配置文件中可以添加多个UdpAppender节点,用来向不同的UDP服务器发送日志。但是,如果需要动态接收UDP日志呢,每个未知的客户端都可以接收Log4Net的UDP日志,那么就需要在软件中开启一个监听UDP消息的线程,接收到UDP主机的IP和端口后,动态添加UDP Server信息到Log4Net的配置中,这样Log4Net就能同时向多个UDP Server发送日志了。...原创 2018-08-11 12:16:19 · 1624 阅读 · 0 评论 -
Advanced Installer打包Winform后安装在C盘权限不足的解决方法
开发环境:VS2012运行环境:Win7+问题描述:Advanced Installer是一个使用起来很方便的打包工具,但是最近打包后在Win7及以后的系统上安装(默认C盘),就会出现应用程序已停止工作的问题(问题事件名称:CLR20r3)。打开Windows日志,发现.Net运行时报了System.UnauthorizedAccessException异常,这显然是权限不足的问题(我的代码中有创...原创 2018-05-25 18:05:44 · 3994 阅读 · 1 评论