【发布时间】:2010-06-15 11:42:10
【问题描述】:
全部,
我目前正在尝试创建一个可重复的过程,用于将 TFS 2008 安装升级到新硬件(微软称之为迁移升级),但在新硬件上构建 VS 2008 项目时遇到问题.
我们的 TFS 2008 安装由两台机器组成;一个包含 SQL 数据库和应用程序层,另一个用作专用的构建服务器。
我们的 TFS 2010 安装的新硬件由两台机器组成;一个包含 SQL 数据库、应用程序层、SharePoint 和 Reporting Services。
到目前为止,我已经成功地将必要的 TFS 数据库从原始服务器重复备份到新服务器并还原它们,然后使用“tfsconfig import”命令成功导入数据库并将其升级到团队项目收藏。团队项目集合正确显示,并且可以立即使用。所有安全设置、搁置集、工作区等均完好无损。
当我们开始尝试构建解决方案时,我们的问题就开始了。我们最初尝试构建这些解决方案,但不将它们升级到 VS 2010 格式,也不修改任何项目的目标框架。
我们在构建各种项目时遇到以下错误:
.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。 [] ResGen:错误 RG0000:无法加载引用的程序集“.dll”。捕获 FileNotFoundException 说“无法加载文件或程序集 '
.dll' 或其依赖项之一。系统找不到指定的文件。”。 [] -
编译工作流相关项目时的各种“模糊”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