Get the file path of current application's config file
21,096
Solution 1
I've used
string folder = System.Web.HttpContext.Current != null ?
System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "App_data") :
System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location);
without problems, but maybe there is some corner cases I don't know about...
Solution 2
You can use the ConfigurationFile
property on the SetupInformation
for AppDomain.CurrentDomain
.
This will get either the web.config or and app.config (yourprogram.exe.config) location.
AppDomain.CurrentDomain.SetupInformation.ConfigurationFile
Solution 3
To find the location of executing application
System.Reflection.Assembly.GetExecutingAssembly().Location;
Don't know about web case.
Author by
dummy
Updated on July 09, 2022Comments
-
dummy almost 2 years
The reason I asked this question is that I wanted to create a helper class for Remoting instantiation, and wanted to pass the appropriate app.exe.config (or web.config) file path to the
RemotingConfiguration.Configure
method, depending on the caller.Is there a way I could get the name of the config file for both Win and Web apps without checking if the application is Web or WinForms?
-
dummy almost 14 yearsI presume you meant
System.Reflection.Assembly.GetExecutingAssembly().Location + ".config"
, but actually I need a solution which would work for both apps. -
John about 9 yearsI have capital letter "D" for "App_Data".
-
Brian about 8 yearsHonestly, this answer strikes me as pretty self-explanatory; the member names are incredibly descriptive.
-
Mike Christensen over 5 yearsNote this is not supported in .NET Standard 2.0