メソッドの使い方がPath.Combine
間違っていますか?
私はこの結果を得るPath.Combine(string[])
:
C:Users\\Admin\\AppData\\Roaming\\TestProject\\Connections.xml
そして、これはあまり望ましくないコードの望ましい結果です: コメントアウトされたコードによって生成された結果です):
C:\\Users\\Admin\\AppData\\Roaming\\TestProject\\Connections.xml
\\
最初のパスのドライブ文字の後に欠落があることに注意してください。
古い方法 (バックスラッシュを手動で追加し、コメントアウトする) はうまく機能しますが、mono でコンパイルした場合、Linux やその他の環境では機能しないと確信しています。
string[] TempSave = Application.UserAppDataPath.Split(Path.DirectorySeparatorChar);
string[] DesiredPath = new string[TempSave.Length - 2];
for (int i = 0; i < TempSave.Length - 2; i++)
{
//SaveLocation += TempSave[i] + "\\";//This Works
DesiredPath[i] = TempSave[i];
}
SaveLocation = Path.Combine(DesiredPath);//This Doesn't Work.
ConnectionsFs = new FileStream(Path.Combine(SaveLocation,FileName)/*SaveLocation+FileName*/, FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.Read);
TestProject
基本的に、プロジェクト自体やそのバージョンではなく、最終結果をディレクトリにしたいのです。