All,
我目前正在尝试创建一个可重复的过程,将 TFS 2008 安装升级到新硬件(Microsoft 称为迁移升级),但在新硬件上构建 VS 2008 项目时遇到问题。
我们的 TFS 2008 安装由两台机器组成;一个包含 SQL 数据库和应用程序层,另一个充当专用构建服务器。
我们的 TFS 2010 安装的新硬件由两台机器组成;其中包含 SQL 数据库、应用程序层、SharePoint 和报告服务。
到目前为止,我已成功地重复将必要的 TFS 数据库从原始服务器备份到新服务器并恢复它们,然后使用“tfsconfig import”命令成功将数据库导入并升级到团队项目集合。团队项目集合正确显示,并且可以立即使用。所有安全设置、搁置组、工作区等均完好无损。
当我们开始尝试构建解决方案时,我们的问题就开始了。我们最初尝试构建这些解决方案,而不将它们升级到 VS 2010 格式,也不修改任何项目的目标框架。
在构建各种项目时,我们会遇到以下错误:
< filename>.resx(x,y): error RG0000: Could not find a type for a name. The type name was 'System.Collections.Generic.List`1[[< class>, < assemnbly>, Version=a.b.c.d, Culture=neutral, PublicKeyToken=9557797252b44220]], mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'. Line x, position y. [< projectfilename>]
ResGen : error RG0000: Could not load referenced assembly "< filename>.dll". Caught a FileNotFoundException saying "Could not load file or assembly '< filename>.dll' or one of its dependencies. The system cannot find the file specified.". [< projectfilename>]
-
编译工作流相关项目时出现各种“不明确”的 MSBuild 目标引用:
C:\Program Files (x86)\MSBuild\Microsoft\Windows Workflow Foundation\v3.5\Workflow.VisualBasic.Targets (153):“GenerateCodeAttribute”在命名空间“System.CodeDom.Compiler”中不明确。
关于如何消除这些问题有多种建议,包括修改 ResGen 上的 32 位支持标志,或强制使用 64 位 ResGen,以及将项目升级到 VS 2010 格式并将其更改为目标 Framework 4。
问题 1。can通过将有问题的项目更改为目标 Framework 4 可以修复此问题,但是由于兼容性问题,该特定项目尚无法升级,并且我尚未找到问题 2 和 3 的解决方案。
我们有超过 20 个团队项目,每个项目都有多个分支,因此(由于涉及的工作量)希望避免手动更改所有项目/解决方案(特别是由于兼容性原因,某些产品尚无法升级到 Framework 4) ,并且在 Framework 4 MSBuild 中构建 Framework 3.5 目标项目似乎并不像 Microsoft 让我们相信的那样兼容)。
If anybody has any可能会被证明有帮助的想法please让我知道。
Cheers,
Antony
EDIT:
问题 1 已被其他人看到,并且与引用自定义类型的通用列表的资源文件有关。事实证明,这些在我们的项目中是多余的,所以我只是删除了它们,并且构建问题已成为历史。
问题 2 似乎已自行消失,可能是解决问题 1 的结果。
问题 3 涉及在 MSBuild 4 中构建针对 Framework 3.5 的 VS2008 工作流项目。微软以其无限的智慧,显然选择不解决这个问题(连接网站链接 https://connect.microsoft.com/VisualStudio/feedback/details/553100/compiling-vs-2008-projects-with-windows-workflows-using-msbuild-4-0-targeting-3-5),并且有几种修复它的想法(引用框架的特定版本,更改构建工作流程以使用 MSBuild 3.5),但都不起作用。
因此,我们对 2010 的升级似乎已被搁置,直到我们为其构建 3.5 工作流程的产品(CRM 4.0 和 SharePoint 2007/2010)支持 Framework 4,或者直到 Microsoft 解决了该问题。
EDIT:
Microsoft 已承认存在问题,并发布了与上述 KB 编号相关的以下信息: http://support.microsoft.com/kb/2023579 http://support.microsoft.com/kb/2023579