私は.Net WinFormsを書いていて、DEBUGとRELEASEの設定を絶えず切り替えています。いくつかのファイルがありますが、いずれかの設定が必要です。私は何を考えていたが、それは次のようになりますので、BINフォルダに共通のディレクトリにファイルを置くことだったEnvironment.CurrentDirectoryとSystem.IO.Directory.GetCurrentDirectory
:
MyProject/Bin/CommonFiles
MyProject/Bin/Debug
MyProject/Bin/Release
そして、私は線に沿って何かを使用してファイルへのアクセスを考えていましたの:
System.IO.Directory.GetParent(System.IO.Directory.GetCurrentDirectory).FullName
私の質問は、私が読んだから、System.IO.Directory.GetCurrentDirectory
がオープンファイルダイアログボックス、たとえば、新しいカレントディレクトリを選択するユーザーが原因で変更される可能性があります、ので、これは危険である場合です。私はそこから移動したり、一般的に受け入れられている方法/場所にすることができます/Bin
フォルダを取得する
System.IO.Directory.GetParent(Environment.CurrentDirectory).FullName
ORがあっても良い方法を:
は、私はむしろの線に沿って何かを使用すべきプログラムが通常到達する必要のあるファイルを格納し、それをより簡単に参照する方法(WinFormsだけでなく、あらゆる種類のアプリケーションで動作するように作られたもの)
binディレクトリがシステムを構築VSの実装の詳細です。プロジェクトにソースコードをつけて顧客に出荷することは考えにくいので、ファイルをc:¥program files¥binに保存することはできませんが、これは良い方法ではありません。書き込み可能なファイルには%appdata%、読み取り専用ファイルにはEXEディレクトリ、%programdata%を使用します。 –
ありがとう@HansPassant ...私は以下のクリスチャンに語ったので、多くのユーザーがこのプログラムを一度使用するだけで、それは自分の組織内の共有ドライブ上にあるので、各ユーザーのコンピュータのappdataフォルダにそれらを常にコピーするのは少し躊躇しますこの時点で...それについてのどんな考え? –