visual-studio-2010 - Visual Studio/TFS 2010/获取最新版本

setup:

  • all development being done on virtual servers (Win Server 2003)
  • all compiles being done in VS 2010
  • all code checked into TFS 2010


我们正在将我们的解决方案从 VS 2008 迁移到 VS 2010。我创建了一个 MAIN 分支文件夹来包含我们转换后的 VS 2010 项目。然后我分支并完成了从 2008 年迁移项目的工作。编译(最终)成功。另一位开发人员正在处理同一分支上的其他项目。

然后,我们也通过 TFS Build 2010 编译了所有这些项目。

这是我们的 MAIN 分支。然后,另一个开发人员创建了一个 DEV 分支文件夹,并将所有解决方案从 MAIN 分支分支到 DEV 分支以进行持续开发。

令我们惊讶的是,我们发现虽然如果我们在 MAIN 分支上执行 get latest 可以编译代码,但当我们在 DEV 分支上执行 get latest 时(假设是相同的代码),我们中的一些人(我们称他们为不幸的开发人员)遇到了一系列错误,这些错误与对解决方案中包含的项目的引用有关。但是两个开发人员(幸运)让它编译得很好。 当这两个不幸的人编译单个项目(导致引用错误的那个)时,它构建得很好,但是当我们构建解决方案或引用项目时,它会因为对该项目的引用而失败。

我们尝试清除我们的工作区并重新编写代码 - 没有乐趣。

创建分支的幸运者做了同样的事情(删除了他们的工作区,确实获得了最新版本并运行了编译),它仍然可以编译。然后,我们让未参与迁移的开发人员获取最新版本并运行编译。他们的编译也运行得很好!这使我们相信它一定是计算机。

因此,我们让其中一位不幸的开发人员登录到一位幸运开发人员的虚拟机,并使用他们自己的工作区执行获取最新和构建。这也失败了。所以这个虚拟在一个成功的用户下有一个工作区,在另一个用户下有一个工作区,在同一代码上编译相同获取最新版本失败。

然后......我们将工作区与幸运的开发者的虚拟空间以及与之相连的不幸的开发者之一分离(没有得到,只需编译那里的内容)。那编译得很好。

所以感觉我们可能有某种特征附加到我们不幸的开发者身上,导致我们的 Get 有所不同。我刚刚意识到的一个区别是,我们两个不幸的人在 2008 版本(但在 TFS 2010 下)保存在 TFS 中的搁置集。

好的,然后...同一个不幸的开发人员通过删除文件清除了幸运者的工作区,然后执行了获取特定/最新/都强制覆盖开关打开。这样编译成功!!

然后他又回到了原来的虚拟机上。他删除了工作区中的文件,并打开了获取特定/最新/两者的强制覆盖开关。 这次编译又失败了!

我们的想法已经不多了...

最佳答案

听起来(不幸的)开发人员可能有自定义工作区映射(确定 TFS 中的哪些文件夹在硬盘上的哪个位置被 checkout )。

查看 -> 团队资源管理器 -> 源代码管理 -> 单击 Workspace 上的下拉菜单并选择 Workspaces...

删除那里的所有工作区(或至少验证它们)。

在根级别创建一个新工作区并 checkout (以保持项目引用完整)

关于visual-studio-2010 - Visual Studio/TFS 2010/获取最新版本/某些编译失败,其他编译失败并出现引用错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6550071/

相关文章:

iphone - iOS启动画面导致问题

vb.net - 无法在Visual Studio中进行调试

c# - 如何从CMD(Shell)编译测试类和 Entity Framework Model.De

java - 帮助通过 JSNI 调用传递复杂对象以绕过静态范围

android - “Conversion to Dalvik format failed”错误不会

c++ - C++ map : expected initializer before ‘<’ to

iphone - 编译时Xcode总线错误

c++-cli - libcurl编译和链接器错误

build - 在Mac OS X Lion(10.7)上使用XCode 4.1和iOS 4.3生成

macos - 编译GLUT程序