【问题标题】:TFS2008 to TFS2010 migration upgradeTFS 2008 到 TFS 2010 迁移升级
【发布时间】:2010-06-15 11:42:10
【问题描述】:

全部,

我目前正在尝试创建一个可重复的过程,用于将 TFS 2008 安装升级到新硬件(微软称之为迁移升级),但在新硬件上构建 VS 2008 项目时遇到问题.

我们的 TFS 2008 安装由两台机器组成;一个包含 SQL 数据库和应用程序层,另一个用作专用的构建服务器。

我们的 TFS 2010 安装的新硬件由两台机器组成;一个包含 SQL 数据库、应用程序层、SharePoint 和 Reporting Services。

到目前为止,我已经成功地将必要的 TFS 数据库从原始服务器重复备份到新服务器并还原它们,然后使用“tfsconfig import”命令成功导入数据库并将其升级到团队项目收藏。团队项目集合正确显示,并且可以立即使用。所有安全设置、搁置集、工作区等均完好无损。

当我们开始尝试构建解决方案时,我们的问题就开始了。我们最初尝试构建这些解决方案,但不将它们升级到 VS 2010 格式,也不修改任何项目的目标框架。

我们在构建各种项目时遇到以下错误:

  1. .resx(x,y):错误 RG0000:找不到名称的类型。类型名称是 'System.Collections.Generic.List`1[[, , Version=a.b.c.d, Culture=neutral, PublicKeyToken=9557797252b44220]], mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'。行 x,位置 y。 []

  2. ResGen:错误 RG0000:无法加载引用的程序集“.dll”。捕获 FileNotFoundException 说“无法加载文件或程序集 '.dll' 或其依赖项之一。系统找不到指定的文件。”。 []

  3. 编译工作流相关项目时的各种“模糊”MSBuild 目标引用:

    C:\Program Files (x86)\MSBuild\Microsoft\Windows Workflow Foundation\v3.5\Workflow.VisualBasic.Targets (153):“GeneratedCodeAttribute”在命名空间“System.CodeDom.Compiler”中不明确。

关于如何消除这些问题有各种建议,包括修改 ResGen 上的 32 位支持标志,或强制使用 64 位 ResGen,以及将项目升级到 VS 2010 格式并将其更改为目标 Framework 4 .

问题 1。可以通过将有问题的项目更改为目标框架 4 来修复,但是由于兼容性问题,这个特定项目还不能升级,我还没有找到问题 2 的解决方案.& 3.

我们有超过 20 个团队项目,每个项目都有多个分支,因此(由于涉及的工作量)希望避免手动更改所有项目/解决方案(尤其是因为某些产品还不能升级到 Framework 4出于兼容性原因,并且在 Framework 4 MSBuild 中构建以 Framework 3.5 为目标的项目似乎不像微软让我们相信的那样兼容)。

如果任何人任何可能有用的想法,那么告诉我。

干杯,

安东尼

编辑:

问题 1 已被其他人看到,并且与引用自定义类型的通用列表的资源文件有关。事实证明,这些在我们的项目中是多余的,所以我只是删除了它们,而构建问题已成为历史。

问题 2 似乎自行消失了,可能是由于修复了问题 1。

问题 3 与在 MSBuild 4 中构建 VS2008 工作流项目有关,当它们以 Framework 3.5 为目标时。微软,以其无限的智慧,显然选择不解决这个问题 (Link to Connect site),并且有几个解决它的想法(参考框架的特定版本,将构建工作流程更改为使用 MSBuild 3.5),其中没有一个工作。

因此,我们对 2010 的升级似乎已暂停,直到我们为其构建 3.5 工作流(CRM 4.0 和 SharePoint 2007/2010)的产品支持 Framework 4,或者直到 Microsoft 解决该问题。

编辑:

Microsoft 已承认存在问题,并已发布与上述 KB 编号相关的以下信息: http://support.microsoft.com/kb/2023579

【问题讨论】:

  • 你的构建服务器上安装了VS2008吗?
  • 我无法从您的问题中判断您是否将构建服务器升级到 TFS 2010 构建服务器。升级了吗?另外,您的 Build Controller 安装在哪台服务器上?构建控制器是 TFS 2010 中的一个新概念。在此处阅读更多信息:msdn.microsoft.com/en-us/library/dd793166.aspx。我最近从 TFS2008 升级到了 TFS2010。我正在使用新的 Build Agents 编译 .NET3.5 代码(使用 MSBuild4),没有任何问题。
  • 感谢 MrHinsh 和 LordHits 的 cmets。 TFS 和 Build 服务器都是全新的全新安装,是的,VS2008 已经安装在 Build 服务器上。安装没有问题,只有 MSBuild 4.0 的行为。我一直在与 Microsoft 就剩下的问题联系,即构建与工作流相关的 VS2008 项目,当它们以 Framework 3.5 为目标时,这是一个已知问题(为此我们已经获得了尚未发布的修补程序的访问权限( KB2023579)我们正在测试中。当我们知道更多时,我会更新你。

标签: upgrade tfsbuild tfs-migration


【解决方案1】:

正如我在原始帖子中的评论补充中所述,与未构建的工作流相关的问题确实已通过 Microsot .Net Framework 4 Extended 的补丁得到解决,该补丁在 KB2023579 中进行了概述,但尚未公开(在本文发布时)。

此解决方案是由 Microsoft 通过支持电话提供的,因此我受该电话的条款和条件的约束,在提供官方知识库文章之前,我无法分发补丁的链接,其中点我会发布链接。对不起。

【讨论】:

    【解决方案2】:

    对我们有用的修补程序:http://support.microsoft.com/kb/2249629

    【讨论】:

    • 呵呵,这是针对相同问题的新修补程序,它取代了我提到的问题!您甚至可以在本文后面找到对我们修补程序的引用! :)
    • 虽然仍未公开,但解决方法也无济于事。我们必须等待 .Net 4.0 的 SP1 才能正确修复此问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-14
    • 2013-02-06
    相关资源
    最近更新 更多