I want to get the path of my app like: "\\ProgramFiles\\myApp", I try to use the following code:
string path = System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase;
But it returns a path which has "\\myapp.exe" at the end.
I also tried:
string path = System.IO.Directory.GetCurrentDirectory();
But it throws an “NotSupportedException”.
Is there any way to get a path without .exe at the end?
-
path = System.IO.Path.GetDirectoryName( path );
-
Application.StartupPathshould do that for you.Update: from you edit I see that you are running on Compact Framework. Then Application.StartupPath will not work. This is the construct that I usually use then:
private static string GetApplicationPath() { return System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase); }iPhoney : Sorry for the confusion and thanks for your quick answer ;P -
You can use Path.GetDirectoryName(string) method passing your original path string as parameter for this. What problem are you trying to solve? Maybe you really need something like working directory?
iPhoney : Thank you and danbyStrom, your guide works well. I'm trying to play sound using the wav file in my app's directory, so I need its directory(without app.exe). -
Path.GetFileNameWithoutExtension(path);iPhoney : Thanks, but this will return the file's name "myApp" just like the method's name mentions. Thanks for the guide on this method anyway.JP Alioto : Shucks! That's what I thought you wanted. :) -
¿what about using a FileInfo object to extract the directory name?
In Vb.Net:
fi = New FileInfo(System.Reflection.Assembly.GetExecutingAssembly.Location) path = fi.DirectoryNameiPhoney : "Location" is not found in C# app, but everything in () can be replaced by the filepath I wrote and it works. Thanks. -
If its an exe as in your case use:
// Summary: // Gets the path for the executable file that started the // application, not including the executable name. Application.StartupPath -
More simple than the rest:
using System.IO; using System.Reflection; ... var path = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location)iPhoney : ummm...it's simple but "Location" is not found(at least in Windows Mobile app).
0 comments:
Post a Comment