ファイルを読み取って何かを書き出す単純なコンソール ツールを作成しました。ファイルをドラッグアンドドロップするだけで、入力ファイルと同じディレクトリに出力がポップされます。
すべてのテストが機能し、コマンドラインから呼び出すと、すべてが期待どおりになります。しかし、エクスプローラーでドラッグアンドドロップしてみたところ、ファイルが作成されませんでした。
システム全体を検索したところ、それらはすべて、ユーザー フォルダーの下の Documents and Settings にダンプされていることがわかりました。
これは奇妙です。Path.GetFullPath
入力ファイルの絶対パスを返しませんか? 代わりに、そのユーザー ディレクトリ パスを入力のファイル名に結合しただけのように見えます。
編集:これがコードです。どこかで論理エラーを起こしたような気がしますが、それを見ることができないようです。
filename = System.IO.Path.GetFileName(args[i]);
abspath = Path.GetFullPath(filename);
dirpath = Path.GetDirectoryName(abspath);
....
Console.WriteLine(dirpath);