问题:

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

分析:

按照解决问题的习惯(这个习惯有时候真的不好),第一反应就是去网上搜索“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. JQuery中绑定事件(bind())和移除事件(unbind())

    有时候事件执行完了,想取消事件的效果可以通过一定的办法来处理.比如bind()(绑定事件)和unbind()(移除通过bind()方法添加的事件)方法来移除事件的效果. 比如下面的一个案例: 复制代码 ...

  2. checkbox选中的问题(Ajax.BeginForm)

    判断checkbox选中的方法方法一:if ($("#checkbox-id")get(0).checked) { // do something} 方法二:if($('#chec ...

  3. centos6 Nginx+Tomcat负载均衡配置

    一.Nginx简介 Nginx是一个web服务器也可以用来做负载均衡及反向代理使用,目前使用最多的就是负载均衡,具体简介我就不介绍了百度一下有很多,下面直接进入安装步骤 二.Nginx安装 1.下载N ...

  4. 简单CSS3代码实现立方体以及3D骰子

    1 实现3D立方体 首先准备好UL以及6个Li: 代码如下 ul { position: absolute; top: 50%; left: 50%; transform:translate(-50% ...

  5. python 读写西门子PLC 包含S7协议和Fetch/Write协议,s7支持200smart,300PLC,1200PLC,1500PLC

    本文将使用一个gitHub开源的组件技术来读写西门子plc数据,使用的是基于以太网的TCP/IP实现,不需要额外的组件,读取操作只要放到后台线程就不会卡死线程,本组件支持超级方便的高性能读写操作 nu ...

  6. [转] .net软件反编译笔记

    原文地址:http://blog.csdn.net/three_bird/article/details/51433734 在软件的破解及源码获取及重新编译的道路上会遇到一些问题,书此备查. 大名鼎鼎 ...

  7. 怎么定位bug

    测试发现bug,怎么定位?不同领域不同的测试对象,具体定位方法都不一样.自己定位bug的方法通常是以下过程: 1.发现bug,首先要查看bug的详细信息,根据描述初步分析是哪个模块哪段代码的问题 2. ...

  8. iOS-----使用AddressBookUI管理联系人

    使用AddressBookUI管理联系人 iOS SDK为管理地址簿提供的视图控制器位于AddressBookUI框架内.总结来说,AddressBookUI框架提供了如下特殊的视图控制器. ABPe ...

  9. LightOJ - 1205:Palindromic Numbers (数位DP&回文串)

    A palindromic number or numeral palindrome is a 'symmetrical' number like 16461 that remains the sam ...

  10. 使用阿里云docker加速器

    登陆之后,在docker镜像仓库-加速器可获得专有加速地址. 如何使用Docker加速器 针对Docker客户端版本大于1.10的用户 您可以通过修改daemon配置文件/etc/docker/dae ...