`
csstome
  • 浏览: 1507947 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

Windows平台的通用Build工具:MSBuild

阅读更多

Windows平台的通用Build工具MSBuild

我想一些朋友已经知道或是使用MicrosoftMSBuildBuild应用程序,如果您还没有听过MSBuild是什么,那么您可以在:

http://msdn2.microsoft.com/en-us/library/wea2sca5.aspx

找到有关MSBuild的信息。

MSBuild内付于.Net Framework 2.0中,VS Studio 2005使用的Build就是MSBuildMSBuild类似于JavaAnt或是.NET移植版本NAnt,都允许开发人员撰写XML文件来指定Build的流程。不过MSBuildAnt/NAnt不太一样的地方是,MSBuild比较偏向传统的Make工具,但是MSBuild改正了许多传统Make工具的缺点。由于MSBuild在网络上有许多的信息,因此,我在这里并不是讨论MSBuild的技术面,而是想谈谈MSBuild有趣的地方。

MSBuildVS Studio中应该是作为C#/VB.NET等项目的Build工具(应该是因为我没有VS Studio 2005),因此,MSBuild主要是作为.NET程序语言项目的Build工具。但是MSBuild在理论上应该是可以作为Windows平台上通用的Build工具,而不只限于.NET程序语言项目。这当然是因为MSBuild允许开发人员使用XML撰写Build流程,此外,MSBuild也允许开发人员调用外部工具。因此,MSBuild也应该可以让Win32的开发工具用来作为通用的Build工具,例如DelphiC++Builder,甚至是PHP等。

那么使用MSBuild作为Build工具有什么好处? 比如说DelphiC++Builder都有自己的Build工具,那为什么还要使用MSBuild? 其实一个非常简单的答案就是Delphi For Win32C++BuilderDelphi.NETC#Builder以及未来的Delphi For Win64等就可以提供一个通用的Build机制和Build工具。

另外一个原因则非常重要,由于MSBuild允许开发人员使用XML撰写/定义Build流程,因此对于大型、复杂的项目而言,这允许开发工具借助MSBuild提供更为弹性的Build流程,更重要的是MSBuild允许开发人员拆解Build流程,让复杂项目中相同的部分可以执行相同的Build工作,或是在不同的项目中共享相同的Build流程。如果好好利用这个特点,那么开发人员在Build复杂项目时可以大幅减少需要的Build时间,或是对于像C++这样需要两到三个Pass的编译器而言,这可以大幅减少编译、连接等Build的时间。例如在笔者自行测试的案例中,笔者把以前许多C++Builder的项目重新使用MSBuild来重新Build,结果是使用MSBuild比以前节省了将近50%的时间,这大大说明了善用MSBuild的好处。

那么CodeGear在未来会如何善用MSBuild?我相信各位很快就会知道了。

分享到:
评论

相关推荐

    Visual C++ Build Tools

    Visual C++ Build Tools是微软开发的一款重要的软件构建工具,主要用于构建C++项目,它包含了一系列用于编译、链接、调试等关键步骤的工具,是Windows平台上开发C++应用程序的重要基础设施。该工具集不仅服务于C++...

    packages.7z

    1. **VisualCppBuildTools_Core**:这是Visual C++ Build Tools的核心部分,包括C++编译器、链接器和其他构建工具,如MSBuild。这些工具使得开发者能够编译、链接和创建C++项目,支持各种平台和配置。 2. **Build...

    VS Build Tools

    VS Build Tools,全称为Visual Studio Build Tools,是微软开发的一款用于构建C++应用程序的重要工具集。它是Visual Studio家族的一部分,但专注于提供编译、链接和其他构建过程所需的组件,而不包含完整的IDE(集成...

    Windows Kits 8.0 8.1 10.0

    - **通用Windows平台(UWP)**:10.0版引入了UWP概念,允许开发者编写一次代码,跨设备运行(PC、手机、平板等)。UWP应用程序可以利用Windows Runtime 2.0 API。 - **C++/WinRT**:新引入的C++/WinRT是C++17标准...

    visual cpp build tools

    5. **Windows SDK**(可选):对于需要与Windows API交互的项目,Windows SDK提供了头文件、库文件和工具,以支持开发Windows平台的应用。 6. **NuGet包管理器**(可选):方便地管理和安装第三方库,帮助开发者...

    软件打包工具 打包 工具 各种语言打包工具

    对于Windows平台,Visual Studio的MSBuild也是常用的选择。 - **Go**: Go语言的`go build`命令可以方便地生成可执行文件,而`go install`则会将程序安装到系统的GOPATH。 - **Ruby**: Ruby有`gem`用于打包和发布...

    visualcppbuildtools_fullc++ 14.0.exe

    在软件开发领域,尤其是对于Windows平台,Microsoft Visual C++(简称VC++)是不可或缺的工具之一。标题中的"visualcppbuildtools_fullc++ 14.0.exe"指向的是微软提供的Visual C++ Build Tools的一个版本,该工具集...

    grpc protobuf windows vs2015

    3. 编译protobuf:运行configure脚本,然后执行make或msbuild命令,生成protobuf库和编译工具。 4. 安装gRPC:同样从GitHub获取gRPC源码,使用protobuf的编译工具生成gRPC的库和工具。 5. 创建项目:在VS2015中创建...

    glfw_glfw编译_

    CMake是一种通用的跨平台构建工具,可以生成适用于不同编译器的构建文件。 4. **配置CMake**:运行CMake,指定源码目录和构建目录。在CMake中,你可以设置编译选项,比如是否启用示例程序、测试、动态链接库等。 ...

    cscf 安装必备组件

    4. **Microsoft.Practices.RecipeFramework.Build.targets**:这是一个构建目标文件,用于在MSBuild中定义构建过程,与Recipe Framework集成,可能包含编译和部署规则。 5. **Microsoft.Practices.ComponentModel....

    RenderAPI:跨平台3D渲染API

    在Windows平台上,虽然具体的构建步骤没有在描述中给出,但通常会涉及到使用Visual Studio或其他IDE,或者使用类似MinGW这样的GCC兼容编译器。用户可能需要下载源代码,打开包含项目的解决方案文件,然后通过IDE的...

Global site tag (gtag.js) - Google Analytics