不覆盖 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# panel】怎样能使填充窗体后的panel响应一下鼠标事件呢?