这是由Windows和Unix不同的标准引起的...即“回车”和“换行”的问题...
“回车”和“换行”是ASCII字符集中两个不可见的控制符...“回车”就是CHAR(13),即\r...“换行”就是CHAR(10),即\n...至于“回车”和“换行”是来源于打字机,没见过打字机或没见过DOS时代的光标恐怕不好理解...因为GUI时代光标都是自由移动的不再有回车的意义...
在Unix中“回车”不换行,“换行”才换行,行尾只需要一个“换行”...而在Windows中,“回车”和“换行”都换行,“回车”+“换行”才是行尾...
“回车”和“换行”是ASCII字符集中两个不可见的控制符...“回车”就是CHAR(13),即\r...“换行”就是CHAR(10),即\n...至于“回车”和“换行”是来源于打字机,没见过打字机或没见过DOS时代的光标恐怕不好理解...因为GUI时代光标都是自由移动的不再有回车的意义...
在Unix中“回车”不换行,“换行”才换行,行尾只需要一个“换行”...而在Windows中,“回车”和“换行”都换行,“回车”+“换行”才是行尾...
所以符合Windows开发标准的文本编辑器才会提醒你当前编辑的文本不符合Windows行尾标准。
一般是因为一般从网站上直接拷贝代码会碰到这种问题,可能是代码里有中文的空格,或者看似空格,其实是一些乱七八糟的字符的原因。
解决办法:
1.去掉去行尾的检查,或者修改行尾的内容为统一的一种。
2.如果出现乱码可能是因为编码的问题,可以启用UTF-8的检测,在工具->选项->文本编辑器->自动检测不带签名的UTF-8编码,勾选
3.把行尾格式化一下:把文件的内容全部复制到记事本或者文本编码工具中,然后再复制到vs.net里。这样就可以全部格式化行尾的格式了。
4.VSS版本太低 VS.net绑定到VSS 要求VSS的版本在6.0C以上的版本。如果VSS的版本是6.0C以下的版本就可能出现这种情况,建议升级VSS到6.0d的版本。即可解决该问题。