11

メソッドの使い方が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基本的に、プロジェクト自体やそのバージョンではなく、最終結果をディレクトリにしたいのです。

4

0 に答える 0