4

全部,

我目前正在尝试创建一个可重复的过程,将 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[[<class>, <assmnbly>, Version=abcd, Culture=neutral, PublicKeyToken=9557797252b44220]], mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'。行 x,位置 y。[<项目文件名>]

  2. ResGen:错误 RG0000:无法加载引用的程序集“<文件名>.dll”。捕获 FileNotFoundException 说“无法加载文件或程序集 '<filename>.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 为目标时。微软,以其无限的智慧,显然选择不解决这个问题(链接到连接站点),并且有几个解决它的想法(参考框架的特定版本,更改构建工作流程以使用 MSBuild 3.5),没有一个哪个工作。

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

编辑:

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

4

2 回答 2

0

正如我在原始帖子中的评论补充中所述,与未构建的工作流相关的这个问题确实由 Microsot .Net Framework 4 Extended 的补丁解决,该补丁在 KB2023579 中进行了概述,该补丁尚未公开(在这篇文章的时间)。

此解决方案是由 Microsoft 通过支持电话提供的,因此我受该电话的条款和条件的约束,这会阻止我在官方 KB 文章可用之前分发补丁的链接,此时我将发布链接。对不起。

于 2010-08-30T08:20:53.850 回答
0

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

于 2011-01-21T13:23:55.023 回答