プロジェクト内のファイルのファイルパスをプログラムで取得するにはどうすればよいですか?
string fileContent = File.ReadAllText(LocalConstants.EMAIL_PATH);
プロジェクトにテキストファイルとして追加したEMAIL_PATH。このコード行は、デフォルトで何らかの理由でsystem32フォルダーを検索しているため、例外をスローします。プロジェクトディレクトリに設定する必要があります。
プロジェクト内のファイルのファイルパスをプログラムで取得するにはどうすればよいですか?
string fileContent = File.ReadAllText(LocalConstants.EMAIL_PATH);
プロジェクトにテキストファイルとして追加したEMAIL_PATH。このコード行は、デフォルトで何らかの理由でsystem32フォルダーを検索しているため、例外をスローします。プロジェクトディレクトリに設定する必要があります。
あなたが使用することができPath.Combine
ますAppDomain.CurrentDomain.BaseDirectory
:
string fileName = "SampleFile.txt";
string path = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, LocalConstants.EMAIL_PATH, fileName);
デバッグモードのテストプロジェクトでこのパスを返します(場合LocalConstants.EMAIL_PATH="Emails"
):
C:\****\****\Documents\Visual Studio 2010\Projects\WindowsApplication1\WindowsFormsApplication1\bin\Debug\Emails\SampleFile.txt
使用できますEnvironment.CurrentDirectory
参照: http: //msdn.microsoft.com/en-us/library/system.environment.currentdirectory.aspx
さらに読むために。
編集*
string temp = Path.GetDirectoryName(Assembly.GetExecutingAssembly().CodeBase);
同じことを行い、おそらく少し安全です。
これは私のために働いたSystem.AppDomain.CurrentDomain.BaseDirectory.ToString()