繁体   English   中英

如果不存在,则创建应用配置文件 C#

[英]Create app config file if doesn't exist C#

当我尝试通过以下方式打开我的应用程序配置文件时

ConfigurationManager.OpenExeConfiguration(filePath);

它返回一个异常,因为没有文件。 但在这种情况下我需要创建这个文件。 但据我所知,配置文件是通过在 VS 中添加来创建的,例如How to: Add an Application Configuration File to a C# Project

那么,如何以其他方式创建这个文件呢?

如果您确实想在运行时创建一个空的配置文件,则可以执行以下操作, 但是请注意,如果该配置文件已存在,则此代码将覆盖它

System.Text.StringBuilder sb = new StringBuilder();
sb.AppendLine("<?xml version=\"1.0\" encoding=\"utf-8\" ?>");
sb.AppendLine("<configuration>");
sb.AppendLine("</configuration>");

string loc = Assembly.GetEntryAssembly().Location;
System.IO.File.WriteAllText(String.Concat(loc, ".config"), sb.ToString());

只需转到App.config文件属性,然后将“ 复制到输出目录”设置从“不复制始终复制” (或“如果更新则复制” )更改。 这将在项目构建期间自动创建配置文件。

您的应用程序需要此文件,因为您需要访问它。 最好的方法是在编写时使用Visual Studio添加它。 您必须确保在安装时将其正确部署在目标计算机上。

然后,如果在运行时磁盘上没有该文件,则崩溃是一个好行为。 您可以向用户显示一条消息(捕获异常)。

您为什么要以其他方式创建它? 是否可以确保即使用户删除了配置文件,也始终拥有它? 用户为什么要这样做? 哦,没关系。

如果要确保始终有一个配置文件,可以在不存在的情况下自行创建:

if (!File.Exists(configFilePath)) ...

配置文件只是XML。 因此,您可以在要从中读取密钥之前,创建一个新文件并使用默认数据填充它。

但是,人们希望用户不要删除配置文件。 只是在说'。

将应用程序配置文件添加到 C# 项目

在菜单栏上,选择“项目”>“添加新项目”。*

出现添加新项目对话框。

展开已安装 > Visual C# 项,然后选择应用程序配置文件模板。

在名称文本框中,输入名称,然后选择添加按钮。 一个名为 app.config 的文件将添加到您的项目中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM