トップ回答者
作業ディレクトリを相対パスで

質問
回答
-
-
Myon さんからの引用 フルパスしか設定できないとなると不便だと思うのですが。
別の人にプロジェクトごと渡した時に、
違うディレクトリでデバッグ実行されると「動かない」と言われてしまいます。
なんとか別の解決方法はないものでしょうか
渡しただけで動くってのはできなさそうな気がします。
何度も受け渡しをするのであれば、その人の環境のhogehoge.csproj.userが上書きされないようにすれば、最初の一度だけ設定すれば良いことになります。
(何人もその対象が居る場合は、開発環境構築手順書みたいなものに記述するといった対応)
渡すファイル(一例)
hogehoge.csproj
Form1.cs
Form1.Designer.cs
Program.cs
Propertiesフォルダ
(他、slnファイル等)
渡さないファイル
hogehoge.csproj.user
(他、suoファイル等)
suoファイル、userファイルはユーザ固有環境の情報を保存するためのものです。
前述の作業フォルダはここに保存されますので、最初に一度だけ作業フォルダを設定してもらってください。
以降はこのユーザ固有ファイルは配布せず、上書きしないように運用することでなんとか回避できると思います。
-
VisualStudioのデバッカで、作業ディレクトリを指定して実行する機能があったんですね・・・
勉強になりました。申し訳ない orz
Azuleanさんのおっしゃる通り、各開発者毎に設定してもらうのが良いかと思います。
ただし、無理矢理に実現するのであれば、以下の方法でもやれない事もないです。
・エントリポイントの最初で、「#IF DEBUG」で「Directory.SetCurrentDirectory(@"..\..\..\")」する。
・WindowsApplicationプロジェクトを追加し、カレントディレクトリを変更してから、元のプロジェクトのMain()を呼び出す。
-
Myon さんからの引用 VS6では可能だったため、非常に残念です。 VS2008でも不可能ということなんですよね。
ちょっと誤解されているようなので補足ですが.
作業ディレクトリの設定は,ご指摘のように VIsual C++ 6.0 では可能でしたし,もちろん Visual C++ 2008 でも依然として可能です.
一方,Visual C# では,Visual C# 2002 から一貫して(?) ご要望の動作をしていません.Visual Studio のバージョンが上がったことでできなくなったというよりは,同じ Visual Studio 言語の中にも違いがあって,C# ではずっと使えていない,という感じでしょうか.
すべての返信
-
-
Myon さんからの引用 フルパスしか設定できないとなると不便だと思うのですが。
別の人にプロジェクトごと渡した時に、
違うディレクトリでデバッグ実行されると「動かない」と言われてしまいます。
なんとか別の解決方法はないものでしょうか
渡しただけで動くってのはできなさそうな気がします。
何度も受け渡しをするのであれば、その人の環境のhogehoge.csproj.userが上書きされないようにすれば、最初の一度だけ設定すれば良いことになります。
(何人もその対象が居る場合は、開発環境構築手順書みたいなものに記述するといった対応)
渡すファイル(一例)
hogehoge.csproj
Form1.cs
Form1.Designer.cs
Program.cs
Propertiesフォルダ
(他、slnファイル等)
渡さないファイル
hogehoge.csproj.user
(他、suoファイル等)
suoファイル、userファイルはユーザ固有環境の情報を保存するためのものです。
前述の作業フォルダはここに保存されますので、最初に一度だけ作業フォルダを設定してもらってください。
以降はこのユーザ固有ファイルは配布せず、上書きしないように運用することでなんとか回避できると思います。
-
VisualStudioのデバッカで、作業ディレクトリを指定して実行する機能があったんですね・・・
勉強になりました。申し訳ない orz
Azuleanさんのおっしゃる通り、各開発者毎に設定してもらうのが良いかと思います。
ただし、無理矢理に実現するのであれば、以下の方法でもやれない事もないです。
・エントリポイントの最初で、「#IF DEBUG」で「Directory.SetCurrentDirectory(@"..\..\..\")」する。
・WindowsApplicationプロジェクトを追加し、カレントディレクトリを変更してから、元のプロジェクトのMain()を呼び出す。
-
Myon さんからの引用 VS6では可能だったため、非常に残念です。 VS2008でも不可能ということなんですよね。
ちょっと誤解されているようなので補足ですが.
作業ディレクトリの設定は,ご指摘のように VIsual C++ 6.0 では可能でしたし,もちろん Visual C++ 2008 でも依然として可能です.
一方,Visual C# では,Visual C# 2002 から一貫して(?) ご要望の動作をしていません.Visual Studio のバージョンが上がったことでできなくなったというよりは,同じ Visual Studio 言語の中にも違いがあって,C# ではずっと使えていない,という感じでしょうか.