Obj vs. Bin Directories for .NET CF Projects
Someone asked a question today about my whitepaper and blog post for marking .NET CF applications as orientation/resolution aware:
I thought the obj\debug dir was for intermediate files and therefore you'd want to run res2exe on EXEs under the BIN folder. Can you fill me in on the difference between obj and bin and why you want to run this tool on items in the OBJ dir?
Here's the answer: When you build a .NET CF app, your output files show up in the \obj and \bin directories. Whenever you deploy the app to an emulator or device for execution or debugging, it turns out that VS 2003 will always (even if no code has changed) copy the files in \obj to \bin before sending anything over to the device. So when you use res2exe on your executable in \bin, the change gets overwritten as soon as you ask VS to run or debug the app. The solution is simply to run the tool against the copy of your exe in \obj instead.
[Author: Robert Levy]