当我尝试按
打开我的应用配置文件时ConfigurationManager.OpenExeConfiguration(filePath);
它返回一个异常,因为没有文件。但在这种情况下我需要创建此文件。但据我所知,配置文件是通过在VS中添加How to: Add an Application Configuration File to a C# Project
来创建的那么,如何以其他方式创建此文件?
答案 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。因此,您可以创建一个新文件并使用默认数据填充它,就在您想要从中读取密钥之前。
然而,人们会期望用户不要删除配置文件。只是说'。