C#2008 SP1C#が、私は以下のコードを使用しています%APPDATA%
のパスを取得しますFrom:
パス ':\プロジェクト\ SubVersionProjects \ CatDialer \ binに\デバッグ\%APPDATA%\ DateLinks.xml D' の一部が見つかりませんでした。
私は%AppData%
が相対パスを見つけるべきだと考えました。私が行くときStart|Run|%AppData%
Windowsエクスプローラは、そのディレクトリに私を連れて行く。
ユーザーがクライアントマシンごとに異なるため、完全なパスを入力できません。
Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)
%AppData%
は環境変数であり、それらは自動的にどこにも展開されていません。のAppDataディレクトリを取得するために、任意のアドバイスを
多くのおかげで、
+1環境に頼らず、真の解決策を提供します。答えに追加するには:ファイル名を扱うすべての関数が環境変数を拡張するわけではありません。実際には、通常は明示的にこれを行わなければなりません。そうでなければ動作せず、%something%フォルダになります。さらに、環境が存在する必要はなく、別のユーザーアカウントでプログラムを実行すると、ユーザーの環境が読み込まれず、%Appdata%が空になることがあります。そのため、文書化されたAPIを使用してこれらのフォルダを取得する必要があります(ただし、バッチファイルを使用している場合を除きます)。 – Joey
@Johannes:良い情報があります。私はあなたがそれを投稿したときに私の答えを修正したばかりですが、GetFolderPathがExpandEnvironmentVariableよりも確実に望ましいことを明確にします。 – Noldorin
+1 Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)、私は数日の間、これの後ろにいました。 –