C# 在保存时崩溃 (doc.Save(PATH);)

Posted

技术标签:

【中文标题】C# 在保存时崩溃 (doc.Save(PATH);)【英文标题】:C# crashes on save (doc.Save(PATH);) 【发布时间】:2014-07-16 00:18:58 【问题描述】:

此程序在调试时崩溃并突出显示“doc.Save(PATH);”在代码的末尾。 我正在尝试将变量 cookieScoreadditionAdditionadditionMultiplier 保存到 XML 文件中。

我正在从这里“http://visualcsharptutorials.com/net-framework/writing-xml-file”获取有关它的信息

private XmlDocument doc;
string PATH = @"C:\sample.xml";
private void saveBtn_Click(object sender, EventArgs e)

    doc = new XmlDocument();
    if (!System.IO.File.Exists(PATH))
    
        XmlDeclaration declaration = doc.CreateXmlDeclaration("1.0", "UTF-8", "yes");
        XmlComment comment = doc.CreateComment("This is saved game data");
        XmlElement root = doc.CreateElement("data");
        XmlElement data = doc.CreateElement("data");
        XmlAttribute addition = doc.CreateAttribute("addition");
        XmlElement additionNumber = doc.CreateElement("additionNumber");
        XmlElement multiplicationNumber = doc.CreateElement("multiplicationNumber");
        XmlElement cookieSave = doc.CreateElement("cookieSave");

        addition.Value = "addition";
        additionNumber.InnerText = additionAddition.ToString();
        multiplicationNumber.InnerText = additionMultiplier.ToString();
        cookieSave.InnerText = cookieScore.ToString();

        doc.AppendChild(declaration);
        doc.AppendChild(comment);
        doc.AppendChild(root);
        root.AppendChild(data);
        data.Attributes.Append(addition);
        data.AppendChild(cookieSave);
        data.AppendChild(additionNumber);
        data.AppendChild(multiplicationNumber);

        doc.Save(PATH);
    
    else
    
    

【问题讨论】:

发布您的堆栈跟踪,以便人们可以帮助您 确切的错误信息是什么? System.UnauthorizedAccessException @har07 @user3733200:试试我下面的建议。鉴于异常类型,我现在很肯定这就是您遇到的问题。 【参考方案1】:

我的猜测是你得到了一个与访问相关的异常,因为你试图写入你的 C 驱动器的根目录。请尝试写入您的桌面:

string PATH = @"C:\Users\[yourusername]\Desktop\sample.xml";

另一种选择是尝试以管理员身份运行您的 EXE。如果它有效,那么您就知道这是您的问题。

【讨论】:

以上是关于C# 在保存时崩溃 (doc.Save(PATH);)的主要内容,如果未能解决你的问题,请参考以下文章

在 C# 中执行邮件合并时 LibreOffice 崩溃

如何解决利用aspose把word文档转换为pdf文档时出现乱码 C#

将数据从 c# 保存到 Excel 崩溃

保存屏幕截图时 Xcode 8.2 模拟器崩溃

C# 保存文件如有重名在原名后加(*)

C# winform 如何存储用户选择的文件路径 下次启动时读取该路径