科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件用MSBuild构建.NET应用程序

用MSBuild构建.NET应用程序

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

即将发布的.NET Framework 2.0引进了许多新特性,其中包括由微软Build Engine (MSBuild)驱动的新的生成平台。这篇文章将通过一个基本示例对这个工具进行总体介绍。

作者:builder.com.cn 2007年4月20日

关键字: Tony Patton DotNet MSBuild

  • 评论
  • 分享微博
  • 分享邮件

即将发布的.NET Framework 2.0引进了许多新特性,其中包括由微软Build Engine (MSBuild)驱动的新的生成平台。这篇文章将通过一个基本示例对这个工具进行总体介绍。

生成过程

如果您是一名C/C++开发者,您应该对由make命令和makefiles组成的生成过程非常熟悉。.NET开发者可能对可以免费获得的开源NAnt工具生成过程比较熟悉。当您在MSBuild上工作的时候,虽然不一定要熟悉它的生成过程,但是这些知识迟早会派上用场。

一个预先定义好了的生成过程,能够保证您所开发的软件每次执行生成的时候都以相同的方式生成。它允许您指定目录、文件位置和从属关系等等。这些都是由生成文件中所指定的步骤来完成的。MSBuild用到了XML文件。在研究生成文件的细节之前,首先让我们来看看它的应用。

MSBuild

MSBuild作为Microsoft .NET Framework 2.0的标准组件被安装。下面给出了我的开发机上所安装的带有框架的应用程序的路径,可能与您要安装的版本略有不同。

C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\MSBuild.exe

另外,当使用MSBuild生成解决方案的时候,在Visual Studio内部用到了IDE。它使用了MSBuild.exe文件,包括安装.NET Framework。一个非常重要的细节就是,由于使用简单的原因,Visual Studio与.NET利用了相同的生成过程,这样您就能在IDE外部轻松地用Visual Studio生成解决方案了——使用命令行生成。

由Visual Studio 2005产生的工程文件(C#的csproj、VB.NET的vbproj等等)根据MSBuild XML格式生成工程。现在就让我们来看看XML的格式。

生成文件

生成文件是标准的XML,所以它们能与Visual Studio一样用您喜欢的文本编辑器轻松进行编辑。事实上,它的语法遵循Visual Studio工程文件的格式。MSBuild 生成文件的格式使开发人员能够充分描述哪些项需要生成,以及如何利用不同的平台和配置生成这些项。另外,项目文件的格式还使开发人员能够创作可重用的生成规则,这些规则可以分解到不同的文件中,以便可以在产品内的不同工程之间一致执行生成。以下描述了 MSBuild 生成文件格式的一些基本要素:

  • 项:项表示对生成系统的输入,它们根据用户为其定义的集合名称分组为项集合。这些项集合可用作任务参数,任务使用集合中包含的单个项执行生成过程的步骤。
  • 属性:属性表示可用于配置生成的键/值对。
  • 任务:任务是 MSBuild 工程用于执行生成操作的可执行代码的可重用单元。微软提供了一个非常优秀任务的在线参考
  • 目标:目标按特定的顺序将任务组合到一起,并将工程文件的各个部分公开为生成过程的入口点。

这篇文章关于MSBuild每个选项的详细资料不是很全面, 但网上有广泛的资源可利用。

Listing A是一个由Visual Studio产生的生成文件(工程文件)。下面清单提供了工程文件的快照:

  • OutputPath元素指明由生成过程产生的输出所保存的位置。比如说,编译生成的输出发送到bin\debug目录下。
  • OutputPath元素指定了输出产生的类型。既然这样,对Windows Forms应用程序来说,它就是一个Windows可执行程序。
  • ItemGroup元素包括工程用到的(参考了的)名字空间列表,所以生成过程在试图编译代码之前就会下载这些选项。同样,ItemGroup元素定义的名字空间需要导入代码中。
  • Compile元素定义并指定了VB.NET文件来进行编译,同时确定编译它们的顺序。
  • 这个文件是由Visual Studio生成的。文件的最后,它包括两个目标部分(BeforeBuild and AfterBuild),在那里您可以将您自己定义的一些习惯动作增加到生成过程中。

您可以通过任何文本编辑器来编辑或者查看所有的Visual Studio工程文件。在Visual Studio中,您可以卸载工程(在需要卸载的工程上右击,然后选择“Unload”),还可以编辑工程(在需要编辑的工程上右击,然后选择“Edit”)来查看它的工程文件。您也可以使用Visual Studio为还没有构建的工程手动创建这些文件。 

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章