1

根据 Microsoft Pattern & Practice 博客,建议使用 MSBee。

使用 Team Build 构建 .NET 1.1 应用程序

• 将您的.NET 1.1 解决方案升级到.NET 2.0。您可以通过在 Visual Studio 2005 中打开解决方案并运行转换向导来执行此操作,或者通过运行 devenv projectname /upgrade

• 确保在您的构建服务器上安装了 .NET 1.1 软件开发工具包 (SDK)。

• 从http://www.codeplex.com/MSBee下载并安装 MSBuild Extras

• 从http://blogs.msdn.com/gautamg/attachment/578915.ashx下载 BuildingFx11inTB.targets

• 从源代码管理中检查将构建您的.NET 1.1 项目的构建类型。

• 将BuildingFx11inTB.targets 复制到包含构建类型的目录,并将文件签入源代码控制。

• 编辑 TFSBuild.proj 文件:

• 导入 BuildingFx11inTB.targets 文件:

•添加定义CSharp 目标的属性:

CustomAfterMicrosoftCommonTargets=$(ProgramFiles)\MSBuild\MSBee\MSBuildExtras.Fx1_1.CSharp.targets •将 TFSBuild.proj 签入源代码管理。

这可以在不升级到 net 2.0 的情况下完成吗?我们必须继续使用 VS2003 并尝试使用 TFS。在 VS2003 中有一个巨大的应用程序(1000 页)

4

1 回答 1

1

当您需要基于 MsBuild 的项目文件时,将项目升级到 2.0。Visual Studio 2003 使用“旧式”项目文件,这些文件与 Team Build 和 MsBuild 不兼容。

升级您的项目是获取这些文件的最简单方法,因为升级过程将为您翻译它们。通过使用 MSBee 目标,您可以解释要使用 .NET 1.1 SDK 构建的 MsBuild。

如果您愿意,您可以自己创建这些项目文件,这需要大量工作。但是这样您就不需要升级到 Visual Studio 2005。但是对 2003 项目所做的任何更改也需要反映在项目的 MsBuild 版本中。一种解决方案是在调用 MsBuild 之前按需生成 MsBuild 项目。我还没有看到这样做,但是投资一个项目转换工具也可以解决你的问题。

您可以尝试的另一种解决方案是简单地保持您的解决方案和项目原样并创建一个 msbuild.proj 文件,该文件仅devenv /build YourSolution.sln使用Community MsBuild Tasks调用。这样您就不需要升级任何东西,但是您会失去 Team Build 的许多功能(无论如何,这些功能对 1.1 项目都不起作用)。您可以使用Microsoft SCC Pprovider for TFS将 Visual Studio 2003 直接连接到 TFS 以进行源代码控制,从而避免升级到 Visual Studio 2005 或更高版本。直接调用 devenv 存在一些问题。有时它会弹出一个对话框,导致您的构建挂起。

于 2012-05-05T10:58:25.277 回答