獲得應用程序的根我目前正在使用:如何獲取/設置winforms應用程序的工作目錄?
Path.GetDirectoryName(Assembly.GetExecutingAssembly().GetName().CodeBase).Substring(6)
但是那種感覺馬虎給我。有沒有更好的方式來獲取應用程序的根目錄並將其設置爲工作目錄?
獲得應用程序的根我目前正在使用:如何獲取/設置winforms應用程序的工作目錄?
Path.GetDirectoryName(Assembly.GetExecutingAssembly().GetName().CodeBase).Substring(6)
但是那種感覺馬虎給我。有沒有更好的方式來獲取應用程序的根目錄並將其設置爲工作目錄?
所以,你可以只使用Envrionment.CurrentDirectory =(sum目錄)更改目錄。有很多方法可以獲得原始執行的directoy,一種方式實質上就是您所描述的方式,而另一種方式是通過Directory.GetCurrentDirectory()(如果您沒有更改目錄)。
using System;
using System.IO;
class Test
{
public static void Main()
{
try
{
// Get the current directory.
string path = Directory.GetCurrentDirectory();
string target = @"c:\temp";
Console.WriteLine("The current directory is {0}", path);
if (!Directory.Exists(target))
{
Directory.CreateDirectory(target);
}
// Change the current directory.
Environment.CurrentDirectory = (target);
if (path.Equals(Directory.GetCurrentDirectory()))
{
Console.WriteLine("You are in the temp directory.");
}
else
{
Console.WriteLine("You are not in the temp directory.");
}
}
catch (Exception e)
{
Console.WriteLine("The process failed: {0}", e.ToString());
}
}
你想要什麼;工作目錄或程序集所在的目錄?
對於當前目錄,您可以使用Environment.CurrentDirectory
。對於該組件所在的目錄,你可以使用這個:
Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location)