问题:

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

分析:

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

      在WCF数据访问中使用缓存提高Winform字段中文显示速度 伍华聪 2014-09-06 12:50 阅读:2507 评论:1     WCF开发框架之插件化应用模式升级 伍华聪 2013-07 ...

  2. android中自定义view构造函数ContentItemView(Context context, AttributeSet paramAttributeSet)的用处

    自己定义一个view <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:a ...

  3. 201621123005《Java程序设计》实验总结

    201621123005<Java程序设计>第七次实验总结 1. 本周学习总结 1.1 思维导图:Java图形界面总结 2.书面作业 1. GUI中的事件处理 1.1 写出事件处理模型中最 ...

  4. SharePoint Development - Custom List using Visual Studio 2010 based SharePoint 2010

    博客地址 http://blog.csdn.net/foxdave 之前两次我们定义了内容类型和字段,我们现在用它们为这一讲服务--创建一个自定义列表. 打开Visual Studio,打开之前的工程 ...

  5. CAM350对比两个gerber之间的差异

    今天客供的gerber 版本更新,要检查区别. 参考: https://wenku.baidu.com/view/a154028c19e8b8f67d1cb93f.html 这个更加详细: https ...

  6. PyalgoTrade 交易(五)

    我们继续采取简单的策略,这次模拟实际交易.这个想法很简单: 如果调整后的收盘价高于SMA(15),我们将进入多头仓位(我们下单买入市价). 如果调整后的收盘价低于SMA(15),我们退出多头头寸(我们 ...

  7. AS中几个较好的插件

    Android ButterKnife Zelezny   自动生成依赖注入代码 Android Parcelable code generator  自动生成Parcelable代码 Selecto ...

  8. 使用jquery触发a标签跳转

    错误示例 <a href="http://www.baidu.com" target="_blank">baidu</a> // 直接是 ...

  9. FastAdmin Bootstrap-Table 关于客户端模式(由 计算所有页的的总数引发的思考)

    Bootstrap-Table 关于客户端模式(由 计算所有页的的总数引发的思考) 昨天群里有小伙伴询问 Bootstrap-Table 有没有计算所有页的总数. [吐槽]★隔壁老王-杭州 @F4NN ...

  10. spring与hibernate注解及XML方式集成

    spring与hibernate注解及XML方式集成 Hibernate Xml方式 该种方式需要在sessionFactory中引入对应的hbm.xml文件,样例如下: <!-- spring ...