重複の可能性:
現在の作業ディレクトリからの相対パスを取得していますか?
絶対パスから相対パスへのいくつかの画像を含むC#のコードがあるため、アプリケーションの折り畳みがどこにあるかに関係なく画像を見つけることができます。
たとえば、私のコード (およびイメージのラップトップ) のパスは次のとおりです。
C:/something/res/images/image1.jpeg
コード内のパスを
..../images/image1.jpeg
C:
したがって、パーティションの名前が何であれ、フォルダーが配置されている場所ならどこでも実行できます。
ソリューションの残りの部分と同じフォルダーにある限り、アプリケーションフォルダーの場所に依存しない、または別のパーティションにある場合は、コードにパスを設定したいと考えています。
私はこのコードを持っています:
try
{
File.Delete("C:/JPD/SCRAT/Desktop/Project/Resources/images/image1.jpeg");
}
catch (Exception)
{
MessageBox.Show("File not found:C:/Users/JPD/Desktop/Project/images/image1.jpeg");
}
このコードは、ファイルとフォルダーがその特定のパス (コードの場所でもある) にある場合にのみ実行されます。そのパスを相対パスにしたいので、フォルダー全体 (コード、ファイルなど) をどこに置いても、プログラムは引き続き実行されます。コード (プロジェクト フォルダーの下にあります) がフォルダー イメージと同じ場所にある限り機能します...どうすればよいですか?