运行应用程序时,我收到InvalidArgumentException。我试图创建一个新的ExeConfigurationFileMap,然后使用ConfigurationManager加载它。
public static ExeConfigurationFileMap configFile = new ExeConfigurationFileMap(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\QuikSnap\\QuikSnap.config");
public static Configuration config = ConfigurationManager.OpenMappedExeConfiguration(Settings.configFile, ConfigurationUserLevel.None);
我也曾尝试在声明配置文件后对其进行设置,但仍然没有任何运气。
如果尝试在此异常之后继续执行操作,则在尝试将变量设置为配置文件中的值之一时,接下来会收到TypeInitalizationException。
最佳答案
遇到同样的问题。由于某些荒谬的原因,即使使用文件路径初始化ExeConfigurationFileMap也不设置配置对象构造函数所需的属性ExeConfigFilename。我通过在实例化ExeConfigurationFileMap对象后立即设置该属性来修复该问题,如下所示:
public static ExeConfigurationFileMap configFile = new ExeConfigurationFileMap(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\QuikSnap\\QuikSnap.config");
configFile.ExeConfigFilename = "QuikSnap.config";
public static Configuration config = ConfigurationManager.OpenMappedExeConfiguration(Settings.configFile, ConfigurationUserLevel.None);
关于c# - ExeConfigurationFileMap:InvalidArgumentException,字符串参数'fileMap.ExeConfigFilename'不能为null或为空,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26519280/