【问题标题】:Is it possible to build MSBuild files (visual studio sln) from the command line in Mono?是否可以从 Mono 的命令行构建 MSBuild 文件(visual studio sln)?
【发布时间】:2010-09-08 11:03:57
【问题描述】:

是否可以在不启动 MonoDevelop 的情况下构建 Visual Studio 解决方案?

【问题讨论】:

    标签: msbuild mono


    【解决方案1】:

    我认为您正在寻找 xbuild: http://www.mono-project.com/Microsoft.Build

    【讨论】:

      【解决方案2】:

      当前状态(Mono 2.10,2011):xbuild 现在能够构建所有版本的 Visual Studio / MSBuild 项目,包括 .sln 文件。只需像在 Microsoft .Net Framework 上执行 msbuild 一样运行 xbuild。你不需要安装 Monodevelop,xbuild 自带了标准的 Mono 安装。

      如果您的构建使用自定义任务,如果它们不依赖于 Windows 可执行文件(例如 rmdirxcopy),它们应该仍然可以工作。

      当您编辑项目文件时,请使用标准 Windows 路径语法 - 如果需要,它们将由 xbuild 转换。此规则的一个重要警告是区分大小写 - 不要混合相同文件名的不同大小写。如果您有一个这样做的项目,您可以通过调用MONO_IOMAP=case xbuild foo.sln(或尝试MONO_IOMAP=all)来启用兼容模式。 Mono 有一个页面描述了更高级的MSBuild project porting 技术。

      Mono 2.0 答案 (2008):xbuild 尚未完成(它与 VS2005 .csproj 文件配合得很好,与 VS2008 .csproj 有问题并且不处理 .sln)。 Mono 2.1 计划将 mdtool(MonoDevelop 命令行构建引擎)的代码库合并到其中,但目前mdtool 是更好的选择。 mdtool build -f:project.slnman mdtool 如果你安装了 MonoDevelop。

      【讨论】:

      • 显然 mdtool 已重命名为 mdrun
      • 反过来,你有一个过时的 MonoDevelop。
      • 从 2.10.9 开始的 xbuild 没有给我任何快乐。 “错误 MSB4126:指定的解决方案配置“Debug|web”无效”——尽管按照错误消息中的建议使用 /p:Platform="Any CPU"。
      【解决方案3】:

      xbuild 现在支持 VS2005 和 VS2008 的解决方案和项目。

      【讨论】:

        【解决方案4】:

        截至 2017 年 8 月,我们现在可以使用

        msbuild

        xbuild 的命令已被贬值。

        【讨论】:

        • msbuild 目前还不是 Debian 的一部分
        猜你喜欢
        • 2012-06-17
        • 1970-01-01
        • 2017-08-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-02-13
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多