0

わかりましたので、最初の GUI アドレス帳を作成することにしました。YouTube のチュートリアルに従って、テキスト ボックスに入力された情報を xml として保存するアドレス帳を作成できるようにしましたが、困っている。

そのため、フォームが読み込まれると、"Address Book" という名前のフォルダーを確認し、そこにない場合は作成することを想定しています。次に、ドキュメントがそこにあるかどうかを確認し、そうでない場合は作成します。しかし、なんらかの理由で、フォルダーが存在しないのに、xml ファイルと同じようにフォルダーが作成されません。

private void Form1_Load(object sender, EventArgs e)
{
    string path = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
    if(!Directory.Exists(path + "\\Address Book"))
        Directory.CreateDirectory(path + "\\Address Book");
    if (!File.Exists(path + "\\Address Book\\settings.xml"))
        {
            XmlTextWriter xW = new XmlTextWriter(path + "\\Address Book\\settings.xml", Encoding.UTF8);
            xW.WriteStartElement("People");
            xW.WriteEndElement();
            xW.Close();
        }

誰かが私の間違いを指摘できますか? 元のパスは SpecialFolder.ApplicationData でしたが、クリックするだけでフォルダーを探すことができるため、デスクトップを使用したかったのです。

4

1 に答える 1

4

Read/Writeアクセス許可の問題によく似ています。

Desktopファイル/ディレクトリの書き込み先のようなものは使用せず、OS User、つまりアプリケーションも相対的なアクセス許可が保証されているフォルダーを使用してください。チュートリアルで見たフォルダです。特に最新のWinOSes は、この種のものに非常に厳格です。

毎回それらのフォルダに移動するのが面倒な場合はlinkDesktop. 速くて簡単。

于 2012-08-29T20:06:38.813 に答える