创建应用程序配置文件(如果不存在)C#

当我尝试打开我的应用程序配置文件时

ConfigurationManager.OpenExeConfiguration(filePath); 

它返回一个exception,因为没有文件。 但在这种情况下我需要创建此文件。 但据我所知,配置文件创建是通过在VS中添加如何:将应用程序配置文件添加到C#项目

那么,如何以其他方式创建此文件?

如果你真的想在运行时创建一个空的配置文件,你可以这样做, 但请注意,如果配置文件已经存在,这段代码将覆盖它

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

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

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

然后,如果它在运行时不存在于磁盘上,那么崩溃是一个很好的行为。 您可以向用户显示消息(捕获exception)。

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

如果你想确保总是有一个配置文件,你可以自己创建它,如果它不存在:

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

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

然而,人们会期望用户不要删除配置文件。 只是在说’。