C# TFS-执行签出+;如果正在签入另一个文件,则签入某个文件

C# TFS-执行签出+;如果正在签入另一个文件,则签入某个文件,c#,tfs,xsd,tf-cli,C#,Tfs,Xsd,Tf Cli,我有一些XSD文件,我使用MS中的XSD.exe实用程序生成这些文件的类 我使用预构建签出生成的代码类文件,并使用post签回 由于有几个开发人员在同一个项目上工作,而且每次每个开发人员决定重建时都会发生这种情况,因此我们不断在该项目上遇到冲突,而这并不是真正的冲突(只是由于生成的cs文件头中包含的xsd工具版本略有不同而引起的) 为了解决这个问题,我想首先将XSD的内容与源服务器进行比较,然后执行签出+签入操作 有没有一种方法可以使用TFS实现这一点 注意:我尝试在tf.exe中使用diff命

我有一些XSD文件,我使用MS中的
XSD.exe
实用程序生成这些文件的类

我使用预构建签出生成的代码类文件,并使用post签回

由于有几个开发人员在同一个项目上工作,而且每次每个开发人员决定重建时都会发生这种情况,因此我们不断在该项目上遇到冲突,而这并不是真正的冲突(只是由于生成的cs文件头中包含的xsd工具版本略有不同而引起的)

为了解决这个问题,我想首先将XSD的内容与源服务器进行比较,然后执行签出+签入操作

有没有一种方法可以使用TFS实现这一点

注意:我尝试在tf.exe中使用diff命令,但它没有返回一个退出代码,我可以用它来知道比较的结果


非常感谢您的帮助……

您可以使用tf.exe并对XSD文件执行get命令,如果它返回“所有文件都是最新的”,您就知道您不必进行签出/生成/签入处理

我的建议是解决问题的原因,而不是症状

在开发时,您应该尝试让您的开发人员和构建服务器都使用完全相同的工具集和源代码运行,这样您就知道您将获得一致的结果。您不能保证一个工具的两个不同版本的输出总是相同/兼容的。简单的版本号不匹配是没有问题的,但是如果您生成的最终程序有细微的差异,这取决于谁构建了它呢?Fred可能永远无法重复和修复客户抱怨的错误。或者,直到有一天你意识到你一直在从一个构建服务器运送产品,而你却懒得去修补,你可能认为你已经修补了那个主要的ATL安全漏洞


有一个标准化的安装过程是一件非常简单的事情(每个人都仔细遵循的“如何安装”文档,一个包含正确DVD集的盒子,和/或一个包含要使用的安装程序集、要链接到的库的网络文件夹或源代码控制文件夹,等等)

尝试使用电动工具的“
tfpt-uu
命令,该命令将撤消实际未更改的文件的任何挂起更改。如果还有任何挂起的更改,请将其签入。