由于公司老项目还在用 tfs 管理代码,最近出现不能拉取、提交、更新、合并代码了,总是报错
“服务器返回不受支持的内容类型 text/html”
这种错误,网上有说清空本地vs缓存,清空tfs凭证的,都没有用。
最后发现是这样导致的:
1. 运维在使用 Jenkins 发布代码到测试环境的时候,msbuild 编译 c# 代码时,报错了
2. msbuild 在编译 tfs 仓库代码的时候,会首先将所有文件“签出”占有,编译成功后再释放锁
3. 由于 msbuild 编译过程中报错了,导致之前“签出”的所有文件,被占有,技术开发在拉取、提交、更新、合并代码等操作的时候,就会报上面那个错误
4. 将 msbuild 调用的服务器那里,使用 vs 打开 tfs 仓库管理,查看指定分支上,是否已经存在“签出”的文件,将那些文件全部撤销掉
5. 最后本地能正常 拉取、提交、更新、合并代码了