当 TFS 生成定义开始复制文件时,我有时会收到共享冲突错误。主要是DLL或exe以及WinServices。有时它工作正常,有时给出此错误。
2018-04-20T14:40:14.7193845Z共享冲突 2018-04-20T14:40:14.7818767Z ##[错误]进程已完成,退出代码为 4。 2018-04-20T14:40:14.7818767Z ##[部分]整理:部署工件
生成中可能存在一些问题,因为项目将自身及其依赖项(其他项目、引用、NuGet 包等)复制到同一输出文件夹中。
发生此错误的原因是您已将文件添加到源代码管理中 不应该在那里。因此,它从 TFS 下载并标记 为只读。
看看这个类似的问题:错误VSP1737:由于共享冲突,文件无法打开
您可以使用.tfignore file
.您必须手动删除已添加的所有文件。如何在这里参考我的回复。
然后检查 *.dll 和其他二进制文件,包括 *.vsp 文件和 从源代码管理中删除它们。
有两种类型的二进制文件:
- 引用- 这些应使用 Nuget 完成,切勿包含在源代码管理中或手动添加。
- 输出/生成- 不应将生成的文件添加到源代码管理中。
如何使用Nuget管理dll,请查看以下教程:
-
NuGet 现已完全集成到 MSBuild 中
-
VSTS 和 TFS 中的 NuGet 包管理入门