visual-studio-2010 - 合并到主干时,TFS失败的门控签入

  显示原文与译文双语对照的内容
0 0

在以下场景( 我已经简化了它,虽然它本质上是同样的问题) 中,TFS和 TFS CI有问题:

  1. 我有一个主干( 一个 vs 解决方案中的csprojs组)
  2. 我在这个分支中有一个分支( 从树干上取出) --,我创建了一个新文件,比如"MyRepository 。"
  3. 我将分支合并回主干 --,一切看起来都很好。 ( 在挂起的更改中,文件标记为"合并,分支")
  4. 将合并的挂起更改签入到主干
  5. 这将在TFS中开启一个门控签入
  6. 这失败了,我从 TFS CI得到一条消息:

CSC: 找不到源文件'repositoriesmyrepository 。cs'"

"TF270015:'msbuild.exe'返回意外的退出代码。 需要'0';实际的'1'。"

当我在 MyRepository.cs 文件中签入时,显然我在is文件中检查了 MyRepository.cs 包含的程序集。 这里csproj包含包含新的cs文件的行,i.e.:


<Compile Include="RepositoriesMyRepository.cs"/>

所以问题是,我不理解为什么in不在那里,即使我在检查它并且它包含在ipqos文件中。

我是 suspecting,我从一个分支回到主干的事实是导致问题的,但是我不知道为什么。 对于 of,我对于现在的任何位置都是一个很好的帮助。

更新 - 发现TFS使用的源文件的工作目录没有将 MyRepository.cs 文件拖入它,并没有提取最新的。csproj文件( 看上去还是旧版本的版本)的( 签入设置) 版本。 这似乎非常奇怪,因为错误消息( 上方上方) insinuates获得。is但没有获得 MyRepository.cs 文件。

时间: 原作者:

0 0

结果出现这种情况是因为TFS代理所使用的帐户没有对分支( 或者其他权限)的检索权限。 因此我更新的文件和从分支合并到主干中的新文件没有出现在主干版本中。 有点烦人的是,并没有直接抱怨这个问题,而只是刚刚开始了一个老的主干文件( 或者如果complain我在日志里找不到它) 。

摘要:给构建代理帐户对分支的权限解决该问题。

原作者:
0 0

错误表明,for文件确实有你的更改,因为编译器正在查找该文件。 但是,它还指示实际的cs文件不是签入的一部分,或者它被检入到不同于rtc文件的位置。 另一个可以能的解决方案( 如果你已经核实了另外两个) 是,你的构建工作区没有将包含存储库文件夹的映射。

原作者:
...