views:

77

answers:

3

Hi, I'm trying to use Nant to compile an ASP.NET MVC app, so far my build script just runs ms build and runs some other tasks, however I want my compiled files to be put in a "build" directory, how can I tell msbuild where to put the compiled files?

+1  A: 

Looking here:

http://msdn.microsoft.com/en-us/library/ms164311.aspx

it specifies that you can set msbuild to override the output dir setting in your project file, like so:

/properties:OutputDir=bin\Debug

Is this what you want?

Shoko
A: 

you can put this in your project file (or in an imported project file if you want reuse), it will override both the path for the executable/dll and the path where the .obj files etc go.

<PropertyGroup>
  <OutputPath>c:\bin</OutputPath>
  <BaseIntermediateOutputPath>c:\temp\$(AssemblyName)</BaseIntermediateOutputPath>
</PropertyGroup>
stijn
A: 

If you are using the <msbuild> task from NAntContrib, then you can set the OutputDir property like this:

<msbuild project="path-to-sln-or-csproj-or-msbuild" target="Build">
  <properties>
    <property name="OutputDir" value="build-outdir-dir" />
  </properties>
</msbuild>
Richard Downer