标签存档: C#

BuildVersionIncrement插件80070057错误的修复

c#  visual studioBuildVersionIncrement是国外爱好者开发的一个在visual studio环境下自动增加版本号的插件。众所周知MS顽固的没有在vs中提供这个功能。虽有变通的方法,比如把AssemblyInfo.cs中的版本号改为1.0.*等,但并不方便。而BuildVersionIncrement则提供了相当强大的控制与自定义功能,在微软不再装聋作哑之前,自动版本号工具里这个插件可谓是不二之选。

继续阅读 »

AssemblyVersion和AssemblyFileVersion的区别

c# 程序集 版本在VS .net项目属性的程序集信息里,有程序集版本和文件版本,这两者有何区别呢?简而言之,AssemblyVersion:是程序集的版本,.NET的CLR用,用于标识出该dll的版本信息,用于定义强名称的版本号;AssemblyFileVersion:为编译器生成的文件加入版本号,只是一个文件号标识,没有具体的作用,也就是在资源管理器里查看属性时看到的版本;

继续阅读 »

两段自动检测网页编码的C#代码

c# 网页 字符集使用C#访问网页时,如何检测网页的编码是必须解决的问题。实测下面两段代码并不是百分百可靠,某些页面仍可能识别错误。在HttpWebResponse对象的几个编码属性都不准确时,网页meta中的charset值可用,然而在无法识别页面代码的情况下,如何正确解析出来meta标签的charset值呢? 不知浏览器内部是如何自动识别的,以后会关注。

继续阅读 »

DataGridView控件的AutoSize 模式不能设置为 Fill

c# DataGridView在C#中将DataGridView控件的AutoSizeColumnsMode设为Fill时,出现错误提示:列 AutoSize 模式不能设置为 Fill,原因是至少有一个可见列将继承此 AutoSize 模式并被冻结。看到此错误,第一反应是某些属性冲突,查看一些贴子加深了这些印象。后来终于找到原因。其实不需过多联想,错误提示最后的“冻结”二字才是关键。第一列被我设成了frozen值为true。将其改为false即可设置成功。

NLPIR/ICTCLAS2014中文分词的C#函数包装

c# NLPIR ICTCLAS新版ICTCLAS2014现在改名成NLPIR了。下载之后,主要有4个dll,分别是linux的32/64位和windows的32/64位,提供的函数也不多,使用起来还是比较方便的。使用时,有用的就是一个dll,然后Data目录,里面有词典,配置文件等。新建一个工程,编译生成debug目录,然后把nlpir.dll及Data目录拷到debug目录下,然后生成在debug目录下的程序就可以正常使用NLPIR中文分词了。

继续阅读 »

一个C#提取a标签的href及innerhtml的正则

c# 正则表达式正则表达式主要用于文本处理,其特点是灵活性、逻辑性和功能性非常的强,可以迅速地用极简单的方式达到字符串的复杂控制。Unix中一些工具,比如ed和grep,都支持正则表达式,而Windows下一些编辑器比如UltraEdit等,也支持正则表达式查找。虽然影响最大的仍是perl风格的正则表达式pcre,更为现代的.net语言中也对正则表达式提供了完备的支持。下面是一个用正则提取a标签中href属性及innerhtml的正则例子:

继续阅读 »

C#在HttpWebRequest中增加Header

c# HttpWebRequest许多具有跨平台能力的语言的最大缺憾,是对不同操作系统下图形界面编程支持不佳。这其实也很好理解,不同系统的用户交互界面设计思想本就千差万别,指望一种语言在操作系统之上为用户提供平台间统一的UI风格确实有些难度。所以Java始终不能成为一种成功的前端开发语言(安卓算不算呢),所以至今无法放弃windows桌面上的C#语言。最近一个读取html页面的程序因为涉及用户交互,仍不得不用C#编写。

继续阅读 »

在C#的form构造函数中结束程序的问题

c# exit编写一个Windows窗体程序,准备在form()中读取配置,若配置文件不存在,则退出程序。此处使用了application.exit()方法。但实测不能够正确结束,窗体还是会加载进来。考虑到窗体是program.cs中以Application.Run(new form())形式创建的,那么在窗体中可用this.Close()来结束窗体,由于之后无其它处理语句,所以Application自然也可以结束。问题在于this.Close()要放在哪里?

继续阅读 »

OpenFileDialog导致BinaryFormatter失效?

c#  openfiledialog编写一个C#窗体程序时,为了省事,直接用BinaryFormatter.Serialize来保存程序的配置。配置文件名不含路径,因为预期的保存位置就跟可执行文件在同一目录下。所以使用默认路径,在formclosing事件中来进行序列化保存。窗体上还有一个“打开文件”按钮触发打开文件对话框(调用openfiledialog.showdialog()方法),进行一些文件操作。然后在调试时,发现几个奇怪现象:

继续阅读 »

.net framework与其Client Profile版本的区别

c# framework从.Net 3.5开始,我们在Visual Studio中指定目标框架时,多出来了一个相应.net框架版本的Client Profile框架。这个Client Profile框架版本跟常规版本有什么区别呢?简而言之,Client Profile版本是完整版本的一个子集。包含大多数最常用的功能并减小了体积,以便更容易的安装和发布,同时还有微软所声称的一些好处,比如因为减少了某些库,所以使其更加安全等等。以下是一些相关介绍:

继续阅读 »

第 1 页,共 3 页123