NAnt和MSBuild命令行问题

NAnt和MSBuild命令行问题,msbuild,nant,Msbuild,Nant,我正试图将NAnt配置为自动化我的构建过程——一旦我确定了这个步骤,我将集成单元测试 也许我不知道我到底想要什么,所以如果有完全不同的方法来做这些,请纠正我 我想要两个NAnt目标,一个是快速调试构建以确保一切正常且测试通过,另一个是正确编译并发布web应用程序项目 我的问题是 我无法让MSBuild只编译DLL,它总是复制所有web应用程序垃圾图像、css、.aspx文件等。有没有办法阻止这一切?如果是,怎么做? 当我使用/t:compile编译时,它仍然在为DLL创建.pdb文件。这是正确的

我正试图将NAnt配置为自动化我的构建过程——一旦我确定了这个步骤,我将集成单元测试

也许我不知道我到底想要什么,所以如果有完全不同的方法来做这些,请纠正我

我想要两个NAnt目标,一个是快速调试构建以确保一切正常且测试通过,另一个是正确编译并发布web应用程序项目

我的问题是

我无法让MSBuild只编译DLL,它总是复制所有web应用程序垃圾图像、css、.aspx文件等。有没有办法阻止这一切?如果是,怎么做? 当我使用/t:compile编译时,它仍然在为DLL创建.pdb文件。这是正确的吗?我认为这些是为调试器准备的,因此在执行发布编译时不应该出现? 以下是我发布完整版本编译发布的NAnt目标:

<target name="build.deploy" description="Compile Web Site." depends="init">
    <exec basedir="." program="C:\WINDOWS\Microsoft.NET\Framework\v3.5\msbuild.exe" commandline=" MyProj/Interface/Interface.csproj /nologo
        /t:Compile
        /t:ResolveReferences;_CopyWebApplication
        /p:OutDir=../../deploy/bin/
        /p:WebProjectOutputDir=../../deploy/;AspNetConfiguration=Release"
        workingdir="." failonerror="true" />
</target>
谢谢你的帮助


另外,如果有更简单的方法,我不必使用msbuild。我试着先使用CSC,但我无法解决我遇到的所有引用问题。建议非常受欢迎

我建议使用

例如,在我的协议缓冲区项目中,我有:

<target name="build"
        description="Builds all C# code">
  <msbuild project="${src}/ProtocolBuffers.sln">
    <property name="Configuration"
              value="${build-configuration}" />
  </msbuild>
</target>
当发布构建配置时,它不会构建PDB。这取决于您如何在Visual Studio中设置项目-您仍然可以为优化的发布版本构建PDB


编辑:至于额外的垃圾东西-它将做任何在VisualStudio中构建的事情。如果可以在VS中随意切换各种选项,那么在NAnt/MSBuild中也可以正常工作。

我建议使用

例如,在我的协议缓冲区项目中,我有:

<target name="build"
        description="Builds all C# code">
  <msbuild project="${src}/ProtocolBuffers.sln">
    <property name="Configuration"
              value="${build-configuration}" />
  </msbuild>
</target>
当发布构建配置时,它不会构建PDB。这取决于您如何在Visual Studio中设置项目-您仍然可以为优化的发布版本构建PDB


编辑:至于额外的垃圾东西-它将做任何在VisualStudio中构建的事情。如果您可以在VS中随意切换各种选项,那么在NAnt/MSBuild中也应该可以正常工作。

Ta,我现在会查看:谢谢,您能给我指一下MSBuild所有属性的参考列表吗,我在任何地方都找不到:Ta,我现在会查看:谢谢,您能给我指一下msbuild所有属性的引用列表吗?我在任何地方都找不到它: