0

入力「.txt」ファイルのパスを設定する際に問題に直面しています。ファイルの内容を読み取り、内容を変更しています。では、どのコンピューターでも機能するようにパスを設定するにはどうすればよいですか (誰かが単にプロジェクトを貼り付けて実行しようとする場合)。

次のオプションを試しました。

1) var path = Environment.CurrentDirectory + @"\input.txt";
2) var path = "input.txt";

しかし、実行時に DirectoryNotFound 例外が発生します。為に

var path = @"D:\Projects\Demo Project\C#\Problem1\Problem1\input.txt" ;

正常に動作しています。ただし、このディレクトリ構造でのみ機能します。

次のようなものが必要です:- ResolveUrl("~/input.txt"); すべてのケースで機能するように。

4

3 に答える 3

3
System.Reflection.Assembly.GetExecutingAssembly().Location

System.IO.Path.GetDirectoryNameディレクトリだけが必要な場合は、それを組み合わせてください。

質問へのコメントが示すように、ウェブサイトで作業している場合は、使用できます

HttpContext.Current.Request.PhysicalApplicationPath
于 2012-05-29T12:27:55.323 に答える
0

使用できます

System.Windows.Forms.Application.StartupPath;

アプリが起動したディレクトリを取得します。

System.Windows.Formsコンソールアプリの場合は、への参照を追加することを忘れないでください。

お役に立てれば。

于 2012-05-29T12:49:46.393 に答える
0

If you need the directory where your application is:

AppDomain.CurrentDomain.BaseDirectory
于 2012-05-29T13:02:56.980 に答える