【问题标题】:Differences between MSBuild v4.0 and VS 2010 BuildMSBuild v4.0 和 VS 2010 Build 的区别
【发布时间】:2013-08-31 15:03:44
【问题描述】:

我们的开发人员使用 VS 2010 在本地构建;但是,我们的 CI 服务器使用 MSBuild v4.0 脚本在源代码中构建代码。

我知道 VS 在幕后使用 MSBuild,但两者之间有什么区别(如果有的话)?

【问题讨论】:

    标签: visual-studio-2010 visual-studio build msbuild msbuild-4.0


    【解决方案1】:

    确实没有任何区别。但是,当您安装 VS 20xx 时,您会得到一堆依赖项和为您安装的“.targets”。

    当尝试在构建机器上进行模拟时,您可能需要安装一些 SDK,甚至手动移动一些 .targets 才能使构建工作。每个蓝月亮,都有一个 .target 问题,在未安装 VS 的构建机器上无法解决,这让我发疯,让我对微软傻笑。

    这里有两个记忆中的例子:

    http://connect.microsoft.com/VisualStudio/feedback/details/549216/microsoft-data-schema-sqltasks-targets-file-missing-on-team-foundation-server

    https://connect.microsoft.com/VisualStudio/feedback/details/580568/ability-to-build-database-projects-using-only-msbuild

    在文件夹中搜索:

    C:\Program Files (x86)\
    

    "*.targets"
    

    你会明白我在说什么(关于 vs 已安装的项目)

    【讨论】:

    • 我们在需要从构建机器中删除 VS 之前遇到过这个问题。随之而来的是一个痛苦的过程,我们需要构建和查看自卸载后丢失的目标的日志
    • 这就是为什么我不喜欢在构建机器上安装 VS。我认为“建立”丢失的项目更容易......然后反过来。但是上面的“连接”问题真的让我很恼火。
    • 我通常会提供一个脚本,让开发人员能够在 Visual Studio 之外使用 msbuild 进行本地构建。它更快并且摆脱了所有那些“它在我的机器上工作”的构建问题。是的,当其他人决定支持 cmdline msbuild 时,db tools 团队正在出去吃午饭
    • 还有安装程序项目 - vdproj 和 SSIS 项目不适用于 msbuild。 vdprojs 需要 devenv 而 SSIS 是 sql。
    • @JamesWoolfenden。同意他们在午餐时外出。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-11-06
    • 2022-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-30
    • 2018-02-18
    相关资源
    最近更新 更多