What are the differences between the following methods for obtaining the current directory:-

-Application.StartupPath
-Environment.CurrentDirectory
-AppDomain.CurrentDomain.BaseDirectory

Are there any advantages to each? Does the application you are developing (win form, service, dll etc) dictate the method that should be used?

Regards,