ここから本文です

c#アプリについてなんですが、パスは基本的に絶対パスで指定するのが一般的なん...

shi********さん

2019/5/1211:05:39

c#アプリについてなんですが、パスは基本的に絶対パスで指定するのが一般的なんでしょうか
例えばpictureboxに画像を表示させたい場合の、画像のパスです

仕組みがよくわからないですが、実行ファイル(exe)はプロジェクトフォルダとは別にあるので、その実行ファイルの位置からの相対パスを指定する必要があるんでしょうか

コードを書いているform1.csの位置から指定していました

閲覧数:
44
回答数:
3

違反報告

ベストアンサーに選ばれた回答

cat********さん

2019/5/1220:58:19

>想像ですが、実行ファイルの位置に動的に変化するのですよね

は、ソフト作った時に、どこで起動させるかは、わからないので、相対パスの方が良いんじゃね?ってこと?

それは、一理あるけど、アプリの実行時のパスを出力するメソッドがあるので、それを使えば、絶対パスも相対パスも、そこまで大差はない。
https://www.atmarkit.co.jp/fdotnet/dotnettips/016exepath/exepath.ht...

ただ、画像のパスとなると、相対パスだと、データを保存した時にわかりづらいし、データを作ったあとに、ソフトを移動してしまうと、基準になる位置が変わるので、相対パスより絶対パスの方が、管理がしやすい。

ケースにもよるけど、基本的には絶対パスで、記述したほうが、わかりやすくていいと思うよ。

ベストアンサー以外の回答

1〜2件/2件中

並び替え:回答日時の
新しい順
|古い順

kkk********さん

2019/5/1215:18:37

絶対パスが一般的ということはなく、その用途や仕様により相対パスを使うこともよくあります。

相対パスは「form1.csの位置」ではなく「実行ファイルの位置」が基準になる。

VisualStudioから実行する場合は通常はプロジェクトフォルダ下に「Bin/Debug」なんてフォルダがあってそこにExeファイルが生成されており、そこが基準になる。ただし設定でどうとでも変更は可能。

カレントフォルダを取得する方法はいくらでもあって例えば以下のようなコードでも取得できる。

string currentFolder = System.Environment.CurrentDirectory

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

kak********さん

2019/5/1215:07:20

一般的とは言えないと思いますが、パスは絶対パスで指定する方が間違えが少ないです。

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる