多人合作开发时我们经常用到的工具就是SVN,经常遇到的问题就是冲突了,以前直接Revert changes就可以了,但这次连窗体都加载不出来了,点击重新加载,就显示如下错误“名称不能以“<”字符(十六进制0x3c)开头”,后来得知是冲突造成的。
【原因】
A,B两人同时都对一个文件有写入权限,当A对文件(修改前为版本1)修改后并提交后(变为了文件版本2),而此时B修改后提交是在版本1的基础上提交的,所有提交后是版本2,但服务器上已经是版本2了,B提交后在服务期上应该是版本3,所以此时冲突了。
【根源】
提交之前没有更新到最新版本就不是出现此问题了,此刻才体会到学SVN时,视频一直强调提交之前要update
【解决方案】
1. 发现在U层文件夹下多了三个文件,且UI.csproj的图标为黄色感叹后(黄色感叹号的意思就是:上面提到的原因):
![这里写图片描述](http://img.blog.csdn.net/20170806115332042?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd3JzMTIw/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
2. 由上面图片中提示的错误,提示哪行错误,就删除该行即可:右击—编写”UI.csproj”
![这里写图片描述](http://img.blog.csdn.net/20170806115026973?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd3JzMTIw/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
3. 删除后又出现如下错误:
但是在UI.csproj里面搜索又找不到”<#text>”,此问题仍在解决中,如果那位大神知道怎么解决,请联系小编哟。。。
【解释】
1.对第三张图的解释:
- <<<<<<.mine: 表示本地的内容,是自己修改后准备提交的那个版本
- =======: 是资源库中的内容,是SVN更新之时自动合并产生的结果
-
>>>>>>>.r89:89 是版本号,别人提交后产生的的版本,即你与之冲突的版本,里面的内容就是与之冲突的内容
而以上三种符号都不是该文件的开头格式,所以导致加载失败,所以错误提示不能以”<”字符开头。
2..csproj文件
csproj:即”C Sharp Project”的缩写,即C#文件的扩展名,是给开发工具用的,我们先阶段常用的开发工具就是Visual Studio,Visual Studio会根据csproj里的XML定义来管理项目文件以及相关其它一些种类非常丰富的数据及操作,总结一句话,它的意义就是:为“开发环境”提供信息。而到了运行环境中,就不会关心.csproj文件了,即程序是哪来的,开发完成之后的软件不会有此文件。
3..csproj.user文件
用户配置文件,此文件存储一些你在VS中做出的有关该项目的设定,比如设定ToolVersion=4.0,开发完成之后的软件不会有此文件。