不覆盖 C# 窗口窗体中保存的 xml 文件

Posted

技术标签:

【中文标题】不覆盖 C# 窗口窗体中保存的 xml 文件【英文标题】:Not overwriting saved xml files in C# Window Form 【发布时间】:2020-08-31 10:27:02 【问题描述】:

我是 C# 的新手,我想知道如果安装中已经存在一个 XML 文件,如何防止其被覆盖。在应用程序中,有两个文件包含连接到数据库的信息。其中一个是相对动态的,但另一个保存在设置中。如果我进行发布并尝试更新应用程序,它总是会覆盖这两个文件。有什么想法吗?

【问题讨论】:

你说的是 WinForms,但你说的是我与网站相关的“发布” 它是一个带有 OneClick Publishing 的 Winforms 桌面应用程序。 抱歉 ClickOnce* 【参考方案1】:

您可以使用File.Exists(Path)检查文件是否存在

您可以在此处查看更多信息: https://docs.microsoft.com/en-us/dotnet/api/system.io.file.exists?view=netcore-3.1

如果这不起作用,您可以尝试读取该文件,如果有任何数据,请删除它。

【讨论】:

【参考方案2】:

我假设您指的是配置设置。

在设计您的设置时,在设计器中将范围设置为“用户”。这会将设置绑定到用户本地应用设置,并且不会被覆盖。

更多信息在这里:https://docs.microsoft.com/en-us/dotnet/framework/winforms/advanced/how-to-create-a-new-setting-at-design-time

【讨论】:

以上是关于不覆盖 C# 窗口窗体中保存的 xml 文件的主要内容,如果未能解决你的问题,请参考以下文章

C# 将“X”次保存到一个 .txt 文件中而不覆盖最后一个字符串

如何使用 c# 读取此代码覆盖率 xml 文件报告

C#如何让窗体中间一部分让鼠标透过

【C# panel】怎样能使填充窗体后的panel响应一下鼠标事件呢?

用vs2010编写C#程序,将图片保存到一个文件夹中,下次循环覆盖保存,提示gdi+中发生一般性错误。。。

c# 用XML保存控件的位置、大小等信息,XML格式如下,求写XML文件的函数,要具体代码