3

In my VS 2013 C# Windows Forms app, its "issue" (the .exe) appears in both the \bin\Debug folder and the \obj\Debug folder. Same date, same size. Why is it output to both places? Why is that necessary?

B. Clay Shannon-B. Crow Raven
  • 8,547
  • 144
  • 472
  • 862

2 Answers2

5

obj\Debug is the "working" folder that is used for the output of csc.exe (the .NET compiler). Once the file is compiled it is copied to the "output directory" which is by default bin\Debug and bin\Release.

You can change the output folder by editing the project properties, you can not change the compilers working directory to the best of my knowledge (but that does not mean it can't be done).

Scott Chamberlain
  • 124,994
  • 33
  • 282
  • 431
4

Msbuild has parameters for output folder(bin/debug) as well as IntermediateOutputPath( and BaseIntermediateOutputPath)

The output is usually your bin folder while the IntermediateOutputPath points to your obj folder that is used for temporary storage before generating your final binary. Look at common ms build properties for more information.

KnightFox
  • 3,132
  • 4
  • 20
  • 35