我正在尝试配置NAnt以自动化我的构建过程 - 一旦我完成了这一步,我将整合单元测试。
也许我并不确切地知道自己想要什么,所以如果有完全不同的方式来做所有这些,请纠正我......
我想要两个NAnt目标,一个快速完成,调试构建以确保一切正常并且测试通过,另一个目标是进行正确的编译和发布(它是一个Web应用程序项目)
我的问题是......
这是完整版本编译(发布)的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>
谢谢你的帮助!
P.S。如果有更简单的方法,我不必使用msbuild。我首先尝试使用CSC,但我无法解决所有引用的问题。建议非常欢迎
答案 0 :(得分:4)
我建议您使用NAnt-Contrib msbuild task而不是直接调用MSBuild。
例如,在我的Protocol Buffers项目中,我有这个:
<target name="build"
description="Builds all C# code">
<msbuild project="${src}/ProtocolBuffers.sln">
<property name="Configuration"
value="${build-configuration}" />
</msbuild>
</target>
当build-configuration
为Release
时,它不会构建PDB。这取决于您在Visual Studio中如何设置项目 - 您可以仍然为优化的发行版本构建PDB。