If you ship your application with source code and debug symbols you can get the callstack from Environment.StackTrace which will contain the file name and line number. With that information you could open it up in your favorite text editor.
yes but reading the source with the reflector won't give you accurate line numbers without having debug symbols since comments are ommited and the source isn't exactly decompiled 100% as it was.
This is true. But then again I would think that there wouldn't be any third-party tool that would give you 100% accurate source feedback. In that case I guess you'd be right; it should be done through the compiler.