16

プロジェクト内のファイルのファイルパスをプログラムで取得するにはどうすればよいですか?

 string fileContent = File.ReadAllText(LocalConstants.EMAIL_PATH);

プロジェクトにテキストファイルとして追加したEMAIL_PATH。このコード行は、デフォルトで何らかの理由でsystem32フォルダーを検索しているため、例外をスローします。プロジェクトディレクトリに設定する必要があります。

4

3 に答える 3

30

あなたが使用することができ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
于 2012-05-22T14:51:59.357 に答える
0

使用できますEnvironment.CurrentDirectory

参照: http: //msdn.microsoft.com/en-us/library/system.environment.currentdirectory.aspx

さらに読むために。

編集*

string temp = Path.GetDirectoryName(Assembly.GetExecutingAssembly().CodeBase);

同じことを行い、おそらく少し安全です。

于 2012-05-22T14:54:52.947 に答える
0

これは私のために働いたSystem.AppDomain.CurrentDomain.BaseDirectory.ToString()

于 2016-01-06T21:22:40.643 に答える