问题:

最近公司一个项目组的源代码解决方案打开时总是出现解决方案或者部分项目被自动签出的情况,但签入又提示没有变更。事情虽 小,导致几个程序员要用项目文件时总是要找其他人签入。浪费不少时间。出现时间有几个月了,也一直没有重视去解决。但最近出现源代码部分被覆盖等一些异常 情况后,问题就变得很严重了,于是决心解决。

分析:

按照解决问题的习惯(这个习惯有时候真的不好),第一反应就是去网上搜索“TFS自动签出解决方案”,“TFS自动签出 sln”,“TFS Auto Check out sln”等关键词,找到两个比较有价值的文章,但还是没有解决问题,一时陷入了困境,解决方案的自动签入前后的文件都是一致的。无奈,干脆放下,出去办公 室透透气,发现查找问题过程中的一个大漏洞,总是一直在分析解决方案,没有去分析也会自动签出的项目文件,回来分析一看,果然找到问题,问题如下图:项目引用的项目文件前后两个版本中Tools项目的相对路径不一致,一个三级,一个两级

根据TFS历史记录找到相应同事的电脑,发现果然是这样,其中一个项目的相对路径关系跟其他人不一样,对比如下

Tools项目:

其他项目:

其他人这两个项目都是放在同一个文件夹下,但他的不一样,就导致相对路径不一致。

附录:搜到的两个网上文章

Automatic Checkout on Build Solution

When I open a solution VS2010 tries to check out SLN file – why?

解决:

将他的本地源代码相对路径(是相对路径,不是绝对路径)修改后跟大家一样的解决了。

本地映射路径修改办法如下,记录备忘下(这个修改每次都要想一下,才记得在哪里改的):

修改入口:,进去后点击编辑工作区,一看就知道怎么改了

PS:但改了后又碰到一个问题,项目路径还是在加载旧的项目文件路径,解决办法是强制更新解决方案文件,不知道是因为缓存还是其他什么原因导致非要这样操作

如何避免:

源代码的对应程序员各自的物理路径不要求,但各个解决方案,项目文件所在的相对路径必须要一致,否则就可能出现这样的问题。

后记,感悟:

1、查找问题原因时不能一味盲从网上的解决办法,因为情况很多,别人不一定碰到。还是需要冷静自己的分析问题,尤其是在尝试网上解决办法无效的情况下

2、又验证了一直以来的一个经验,很奇怪的问题或者感觉无从下手的问题,很多时候原因都很简单,甚至很低级的。

TFS自动签出解决方案sln或者项目文件csproj的解决办法的更多相关文章

  1. Windows无法自动将IP协议堆栈绑定到网络适配器 的解决办法

    实验室的台式机在升级驱动后上不了网了,有线网卡驱动卸载后重装了,还是不行,通过Windows诊断发现“Windows 无法自动将 IP 协议堆栈绑定到网络适配器的解决办法”. 解决办法: 打开“控制面 ...

  2. 微信内置浏览器浏览H5页面弹出的键盘遮盖文本框的解决办法(转)

    最近在做微信公众号的内嵌页面,发现点击输入框时键盘盖住文本框,找到一段代码解决了这个问题. iOS和android手机都已亲测,需要的可以直接拷贝到代码中使用. js代码如下: $(function ...

  3. TFS独占签出代码

    最近发现微软给我们提供了免费的TFS,地址:http://tfs.visualstudio.com/, 就注册了一个,但是我发现没办法独占签出. 在公司里,TFS有服务端,所以很好设置,但是注册微软的 ...

  4. vs获取最新时,提示签出解决方案

    项目中的文件有被意外去掉了只读属性的. VSS中签入状态的文件在本地都有只读属性. 如果VSS中是签入状态,而对应的本机文件没有只读状态,在获取最新版本的时候,就会弹出一个对话框提示签出还是用VSS中 ...

  5. android 当ListView滚动时自动调用 onCheckedChanged 导致CheckBox 状态不停变化 的解决办法

    今天在做一个含有CheckBox 的ListView时,发现当初始化CheckBox的状态后, 滚动ListView,其中CheckBox 的选中状态不停的发生变化.最后发现原因是 ListView滚 ...

  6. 转:"为自动填充列调整大小期间不能执行此操作"解决办法 .

    转载自:http://blog.csdn.net/zhxingway/article/details/5384690 今天在测试的时候,打开一个窗口突然发现出现以下错误,就算我在打开窗口那个按钮里面和 ...

  7. SpriteBuilder弹出菜单层造成卡顿的解决办法

    如果你注意到略微的卡顿(延时)(lag due to low framerate)当显示一个全屏的弹出菜单时,你可以简单的设置_levelNode(_levelNode是主游戏界面中的背景层,所有游戏 ...

  8. myeclipse经常弹出Subversion Native Library Not Available框解决办法

    两种解决方案:(1)在myeclipse中选择 "Windows" -> Perferences. 然后通过左上方的筛选,选出svn设置菜单,点解左侧的"SVN&q ...

  9. WIn7系统下 打开.exe程序出现已停止工作关闭程序之解决办法

    新装WIN7系统出现  .NET组建没有安装  可到官网下载安装 NETFx4.0 运行MVB 上位机SIM.EXE出现应用程序已停止工作问题 解决办法: 需关闭WIN7 DEP  如下 开始-运行( ...

随机推荐

  1. JAVA实现Excel导入/导出【转】

    JAVA实现Excel导入/导出[转] POI的下载与安装 请到网站http://www.apache.org/dyn/closer.cgi/poi/右击超链接2.5.1.zip下载压缩包poi-bi ...

  2. 深度学习(七十一)darknet 源码阅读

    深度学习(七十一)darknet 源码阅读

  3. Linux升级nodejs及多版本管理

    最近要用到开发要用到nodejs,于是跑到开发机运行了下node,已经安装了,深感欣慰,是啥版本呢?再次运行了下node -v,原来是0.6.x的.估计是早先什么时候谁弄的.那么来升级下node吧. ...

  4. JQ深度手记、源码分析

    1.$.extend() 对象继承操作.浅拷贝操作.深拷贝操作(第一个参数:true) var a = { name:'lisan' }; var b = {}; $.extend(b, a); // ...

  5. ssh命令的使用

    ssh命令是用来远程登录服务器的,默认端口号为22. 常用的命令是: ssh   用户名@服务器地址 然后回车,输入登录服务器的密码 登录服务器后要进行上传下载文件,可以用scp命令,命令格式为: s ...

  6. 用yum安装lamp和lnmp环境

    LAMP: 1.首先安装Apache和mysql: yum install -y httpd mysql mysql-server mysql-devel 2.启动httpd和mysqld: serv ...

  7. 都是用 DllImport?有没有考虑过自己写一个 extern 方法?

    你做 .NET 开发的时候,一定用过 DllImport 这个特性吧,这货是用于 P/Invoke (Platform Invoke, 平台调用) 的.这种 DllImport 标记的方法都带有一个 ...

  8. Oracle 通过dblink和job方式实现两个数据库表之间数据同步

    需求是需要将Database_A中的dev_test表中的数据同步到Database_B中的dev_test表中. 因为是通过Database_B去同步Database_A库中的数据,所以操作都建立在 ...

  9. 老爷机iphone4s 9.2.1降级6.1.3

    原帖见威锋网 sunnyskyline 2017年1月10日发的贴. 本文中加了一些我自己的情况,也是一知半解,抛砖引玉吧. 首先进行备份.进行备份.进行备份. 感谢大神@极端阴险 感谢@shuaig ...

  10. python面试(十四)

    1.下面代码会输出什么? map(lambda x:x*x,[y for y in range(3)]) [, , ] 答案 2.下面代码会输出什么? def f(x, l = [] ) for i ...