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

时间:2013-12-16 15:12:05

标签: c# .net app-config configuration-files

当我尝试按

打开我的应用配置文件时
ConfigurationManager.OpenExeConfiguration(filePath);

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

来创建的

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

4 个答案:

答案 0 :(得分:13)

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

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());

答案 1 :(得分:1)

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

答案 2 :(得分:1)

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

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

答案 3 :(得分:1)

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

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

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

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

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