【问题标题】:Can we use nant to build .sln files in C#?我们可以使用 nant 在 C# 中构建 .sln 文件吗?
【发布时间】:2009-03-09 17:50:56
【问题描述】:

我们可以使用 nant 在 C# 中构建 .sln 文件吗?

【问题讨论】:

    标签: c# nant


    【解决方案1】:

    根据我的经验,最简单的方法是使用 NAnt 调用 MSBuild,并让 MSBuild 自己构建解决方案文件。以我的Protocol Buffers build file 为例。

    我使用NAntContrib,它有一个msbuild 任务:

    <property name="nantcontrib-dir"
       value="${path::combine(nant::get-base-directory(), '../../NAntContrib')}"
       overwrite="false" />
    
    <loadtasks assembly=
        "${path::combine(nantcontrib-dir, 'bin/NAnt.Contrib.Tasks.dll')}" 
     />  
    
    ...
    
    <target name="build"
            description="Builds all C# code">
      <msbuild project="${src}/ProtocolBuffers.sln">
        <property name="Configuration"
                  value="${build-configuration}" />
      </msbuild>
    </target>
    

    【讨论】:

    • 别再像我之前想的那样回答了。至少 10k 你的代表应该是我的! :P
    • @configurator:你被骗了!
    • 嗯我相信你自己项目的链接坏了......?
    • @GwynethLlewelyn:奇怪的是,要让 35,000 个答案全部保持最新是相当困难的......(我已经有很多年没有使用 NAnt 了。)
    • @JonSkeet:哦,只有 35,000?我以为远不止这些……?呵呵!说真的,感谢您的所有回答以及所有这些链接。我恰好正在对一个已有十年历史的项目进行黑客攻击和削减,希望能够复活它,为 2020 年代做好准备,我正在寻找一些关于事物如何使用的信息是,以及如何将旧代码拖入新的十年。到目前为止,你自己的答案是最有趣的。可惜你链接的原始文件不见了。
    【解决方案2】:

    msbuild 可以构建您的解决方案或执行整个 msbuild 脚本的任务:

    <target name="compile">
           <msbuild project="xxx.sln">
                  <arg value="/property:Configuration=release" />                                  
                  <arg value="/t:Rebuild" />
           </msbuild>
    </target>
    

    【讨论】:

      【解决方案3】:

      您可以将msbuild 作为 nant 任务调用。

      【讨论】:

        【解决方案4】:

        solution 任务可能会有所帮助。

        【讨论】:

        • 阅读下注:目前,仅支持 Microsoft Visual Studio .NET 2002 和 2003 解决方案和项目。
        【解决方案5】:

        您可以使用解决方案任务,尽管它不支持 Beta 版 nant 之外的 VS2008 解决方案。不过它来了。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-06-17
          • 1970-01-01
          • 2010-10-06
          相关资源
          最近更新 更多