我正在使用 C# 和 .NET Framework 4.7 开发 WinForm 应用程序。
使用这个应用程序,我试图从另一个应用程序加载配置文件:
string applicationName = Environment.GetCommandLineArgs()[1];
if (!string.IsNullOrWhiteSpace(applicationName))
{
if (!applicationName.EndsWith(".exe"))
applicationName += ".exe";
string exePath =
Path.Combine(Environment.CurrentDirectory, applicationName);
try
{
// Get the configuration file. The file name has
// this format appname.exe.config.
System.Configuration.Configuration config =
ConfigurationManager.OpenExeConfiguration(exePath);
但是ConfigurationManager.OpenExeConfiguration(exePath)抛出异常:
An error occurred while loading the configuration file: The 'exePath' parameter is not valid.
Parameter name: exePath
配置文件AnotherApp.exe.config 存在于文件夹中Environment.CurrentDirectory。我也尝试将其更改为Path.Combine(@"D:\", applicationName);,但出现相同的异常。
如果我在这里添加exe.config, 而不是.exe, 在名称的末尾applicationName += ".exe";,它似乎打开了一些东西:config.FilePathis D:\AnotherApp.exe.config.config。但是config对象是空的。它没有填充任何属性。
我究竟做错了什么?
慕慕森
相关分类