I was trying to profile a dll by launching it into another process, but when the profiler report was done it didn't have any references to my code - as if the dll was never instrumented. I finally started looking at the output window where I noticed something odd - the profiler was instrumenting the dll in obj\debug instead of bin\debug.
When using the profiler wizard, it promps you to chose which projects you want instrumented. In doing so, it looks like it decides to use the obj\bin output which of course the external exe never sees. The fix seemed to be to explicity add the dll instead of adding the project: