我有一个安装程序类,它从Visual Studio安装项目中检索参数。现在打开exeConfiguration我收到以下错误..
Error 1001:An error occurred loading a configuration file.
The parameter 'exePath' is invalid.
Parameter name:exepath-->The Parameter 'exePath' is invalid.
Parameter name:exePath
这是我的Installer.cs代码..
public override void Install(System.Collections.IDictionary stateSaver)
{
base.Install(stateSaver);
string targetDirectory = Context.Parameters["targetdir"];
string param1 = Context.Parameters["Param1"];
string param2 = Context.Parameters["Param2"];
string param3 = Context.Parameters["Param3"];
string exePath = string.Format("{0}TechSoft CallBill.exe", targetDirectory);
Configuration config = ConfigurationManager.OpenExeConfiguration(exePath);
config.AppSettings.Settings["Param1"].Value = param1;
config.AppSettings.Settings["Param2"].Value = param2;
config.AppSettings.Settings["Param3"].Value = param3;
config.Save();
}
请帮我解决这个错误因为我无法弄明白。 任何建议都受到热烈欢迎。 提前致谢
答案 0 :(得分:1)
如果Config文件属于同一个项目,那么试试这个,如果配置文件属于同一个项目,那么你不必使用配置文件路径。
Configuration config= ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
config.AppSettings.Settings["Param1"].Value = param1;
config.AppSettings.Settings["Param2"].Value = param2;
config.AppSettings.Settings["Param3"].Value = param3;
//Save only the modified section of the config
config.Save(ConfigurationSaveMode.Modified);
//Refresh the appSettings section to reflect updated configurations
ConfigurationManager.RefreshSection(Constants.AppSettingsNode);