Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何告诉C#使用哪个配置文件?_C#_.net_Web Config_App Config - Fatal编程技术网

如何告诉C#使用哪个配置文件?

如何告诉C#使用哪个配置文件?,c#,.net,web-config,app-config,C#,.net,Web Config,App Config,可能重复: 我有两个不同的项目,比如A和B。我需要在B中使用A的一些类。所以我在B中添加了对A的引用。当我尝试运行应用程序时,我声明将对象引用设置为null exception。经过调查,我发现当我从B访问A的类时,控件会转到项目A,但C#仍然使用项目B的配置文件,而不是使用项目A的配置文件。我该怎么做?如何在dll中“包含”A的配置文件 我浏览过博客,但我觉得这是一种非常肮脏的方式。应该有更简单的办法 如果问题不清楚,请告诉我。我相信.NET将始终加载与应用程序关联的app.config文件

可能重复:

我有两个不同的项目,比如A和B。我需要在B中使用A的一些类。所以我在B中添加了对A的引用。当我尝试运行应用程序时,我声明将对象引用设置为null exception。经过调查,我发现当我从B访问A的类时,控件会转到项目A,但C#仍然使用项目B的配置文件,而不是使用项目A的配置文件。我该怎么做?如何在dll中“包含”A的配置文件

我浏览过博客,但我觉得这是一种非常肮脏的方式。应该有更简单的办法


如果问题不清楚,请告诉我。

我相信.NET将始终加载与应用程序关联的app.config文件,而不是任何库。为配置文件指定您自己的位置有很多复杂的方法,或者只是使用您自己的配置框架而不是内置的配置框架,但我认为您不能要求.NET为每个DLL加载配置文件。

据我所知,您希望将app.config集成到您的DLL中。看看这个:


您可以将A配置的相关部分复制到B配置文件中,它会正常工作,但至少说起来有点乏味。不过,我想您可以使用自定义工具将其自动化。

为什么不将所有必要的设置从project B导入配置文件中呢?如果您使用外部供应商提供的一些工具和库,您只需执行相同的操作即可对其进行配置


如果您对配置进行了足够好的抽象,那么您应该很好。使用另一个配置文件比默认配置文件好,我会认为这是一个坏的实践。 这难道不是一开始就破坏了配置文件的目标吗?配置文件旨在允许对应用程序进行配置更改,而无需重新编译,在某些情况下甚至在运行时进行更改。但是,配置文件总是配置一个项目,而不是几个项目。shmm。。我只是从另一个配置文件复制了相关的密钥。。这里只有两把钥匙,所以一切正常。但是我想知道当键之间可能存在冲突时,有多大的应用程序会运行。@Raze2dust:较新样式的配置设置有单独的配置部分,所以冲突的可能性应该不大。谢谢,你能给我指一些资源,在那里我可以学到更多关于使用我自己的配置框架的知识吗?@Raze2dust:不太可能,因为关键是它将是你自己的配置框架!它可以是您想要的简单或复杂,也可以使用第三方框架(例如Spring)。