问题:

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

分析:

按照解决问题的习惯(这个习惯有时候真的不好),第一反应就是去网上搜索“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. RabbitMq window下配置安装

    1. 搭建环境 1.1 安装Erlang语言运行环境 由于RabbitMQ使用Erlang语言编写,所以先安装Erlang语言运行环境. 1.2 Erlang(['ə:læŋ])是一种通用的面向并发的 ...

  2. STL标准库-容器-rb_tree

    技术在于交流.沟通,本文为博主原创文章转载请注明出处并保持作品的完整性 红黑树,关联式容器底层实现(map set),在使用中基本运用不到,但是还是想了解一下他的运作方式 Red_Black tree ...

  3. Haproxy的负载均衡和高可用配置

    一.Haproxy的理解    Haproxy是一个使用c语言编写的自由开发源代码软件,它提供高可用性.负载均衡.以及基于http和tcp的应用程序代理.    Haproxy特别使用于那些负载特别大 ...

  4. C# 调用C++ DLL 的类型转换(转载版)

    最近在做视频监控相关的demo开发,实现语言是C#,但视频监控的SDK是C++开发的,所以涉及到C#调用C++的dll库.很多结构体.参数在使用时都要先进行转换,由非托管类型转换成托管类型后才能使用. ...

  5. IE、Chrome、Firefox 三大浏览器对比

    1. 代理 IE 浏览器设置代理位置在: [Internet 选项]⇒ [连接]选项卡 ⇒ [局域网设置],如下: Chrome 的代理配置界面完全同 IE,只是你设置路径在: [设置]⇒ [高级]⇒ ...

  6. rabbitmq学习(四):利用rabbitmq实现远程rpc调用

    一.rabbitmq实现rpc调用的原理 ·rabbitmq实现rpc的原理是:客户端向一个队列中发送消息,并注册一个回调的队列用于接收服务端返回的消息,该消息需要声明一个叫做correaltionI ...

  7. 文件和I/O流

    版权声明:本文为[博主](https://zhangkn.github.io)原创文章,未经博主同意不得转载.https://creativecommons.org/licenses/by-nc-sa ...

  8. windows下php7安装redis扩展

    windows下php7安装redis扩展windows下开发用的wamp集成的环境,想装个php-redis扩展.php_redis.dll下载地址:https://pecl.php.net/pac ...

  9. MyEclipse部署项目到Tomcat上,但是classes文件夹下没有编译项目

    在MyEclipse中把项目部署到Tomcat上,但是Tomcat下的classes文件夹下没有编译项目解决方法:1-直接在点击菜单栏的Project--clean,对项目进行clean2-查看菜单栏 ...

  10. 【转】java内存分配和String类型的深度解析

    一.引题 在java语言的所有数据类型中,String类型是比较特殊的一种类型,同时也是面试的时候经常被问到的一个知识点,本文结合java内存分配深度分析关于String的许多令人迷惑的问题.下面是本 ...