从可执行文件调用的C#程序集中访问App.Config文件

时间:2011-05-05 05:15:23

标签: c#

是否可以从从exe调用的C#类库中访问App.Config文件?

当我们尝试访问配置文件时,我们遇到错误并且变为空?我认为它与库上调用的发起者有关,除了硬编码到类库中的文件系统之外,还有其他工作吗?

       try
        {
            string cleanupScripts = string.Empty;
            cleanupScripts = ConfigurationManager.AppSettings["CleanupScripts"];

            if (cleanupScripts == null)
            {
                throw new System.ApplicationException("Null was returned");
            }
        }
        catch (Exception ex)
        {
            throw (ex); 

        }

干杯

4 个答案:

答案 0 :(得分:1)

从类库函数中读取app配置值时,它是读取的exe的app.config。一般的想法是每个使用库的客户端都应该提供相关的配置。因此,如果您的类库项目中有app.config,则永远不会读取该文件。

答案 1 :(得分:0)

不确定您是否可以这样做,但我很确定C#类库允许您使用资源。 我认为最好将你的App.Config作为资源存储,然后从资源访问你的App.config。

但我想问的是,为什么要在DLL中存储配置项?为什么不在库上创建构造函数,并在调用C#类库的UI中进行配置。

答案 2 :(得分:0)

将部署的app.config文件复制为ProjectName.exe.config。您应该从类库中读取此文件。

希望我能正确理解这个问题

由于 悟空

答案 3 :(得分:0)

很简单:

首先进入C#项目的属性

enter image description here

然后到参数标签

enter image description here

然后单击以创建参数,您可以选择名称,类型,值,范围

enter image description here

它在YourEXEFile.config文件夹中创建XML文件名bin。然后你可以在你的代码中使用它。或者您可以在代码之外修改它。

static void Main(string[] args)
{
  string myP = Properties.Settings.Default.myParam1;

  Console.WriteLine(myP);
}

您可以在项目中修改它:

enter image description here