所以基本上我有一个简单的应用程序来读取数据库,我有一个配置文件,其中包含数据库的路径。我有多个数据库,因此我想拥有多个配置文件,我可以使用这个应用程序。是否可以让变量定义要使用的配置。我想定义配置以用作命令行参数。
例如。 myapp.exe app1.config
OR
例如。 myapp.exe app2.config
定义参数后,应用程序应相应地选择配置文件
这可能吗?
答案 0 :(得分:1)
using System;
using System.Configuration;
using System.Windows.Forms;
namespace MultipleConfig
{
/* Note :- Create multiple config files.
*/
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
System.Configuration.ExeConfigurationFileMap configFile = new System.Configuration.ExeConfigurationFileMap();
configFile.ExeConfigFilename = "MyConfig.config";
Configuration config = System.Configuration.ConfigurationManager.OpenMappedExeConfiguration(configFile, System.Configuration.ConfigurationUserLevel.None);
KeyValueConfigurationCollection settings = config.AppSettings.Settings;
string fName = ConfigurationManager.AppSettings["FirstName"];
string lName = settings["LastName"].Value;
string country = settings["Country"].Value;
MessageBox.Show(String.Concat(fName, " ", lName, "\nCountry ", country), this.Text);
}
}
}
答案 1 :(得分:0)
您可以使用ConfigurationManager.OpenMappedExeConfiguration
方法,该方法允许您读取在命令行参数中传递的配置文件。 Here您将找到更详细的说明和示例。
所以有可能,但根据我的说法,更方便的选择是在一个(默认)配置文件中有多个配置部分,并根据命令行参数选择正确的部分。
答案 2 :(得分:0)
我在.NET之前使用了自己的配置文件机制,没有什么能阻止你编写自己的代码。
你只能有一个活动的app.config但是,你可以拥有任意数量的文件,并编写自己的阅读程序。只需要一些代码页来加载它们并通过静态变量使它们可用。