Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.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# 对.NET中ConfigurationManager的理解_C#_.net_Configurationmanager - Fatal编程技术网

C# 对.NET中ConfigurationManager的理解

C# 对.NET中ConfigurationManager的理解,c#,.net,configurationmanager,C#,.net,Configurationmanager,我试图通过在不同的场景中练习来理解.NET中的ConfigurationManager 我有两个项目:项目1和项目2。 Project2使用Project1 我的情况:我在project1的app.config文件中有一个节(serializedfilename)。 我在project1的一个类中有这行代码 private static string SerializedConfiguration = ConfigurationManager.AppSettings["SerializedFi

我试图通过在不同的场景中练习来理解.NET中的ConfigurationManager

我有两个项目:项目1和项目2。 Project2使用Project1

我的情况:我在project1的app.config文件中有一个节(serializedfilename)。 我在project1的一个类中有这行代码

 private static string SerializedConfiguration = ConfigurationManager.AppSettings["SerializedFilename"];
在project2中,我调用project1类中的一个方法,得到一个异常

从project2调用时,.NET似乎无法在project1的app.config文件中找到设置,即使我正确地引用了project1

但是,当我将节(serializedfilename)移动到project2的app.config文件中时……一切似乎都很好

有人能给我解释一下这里发生了什么事吗?我倾向于假设ConfigurationManager只存在于客户端应用程序(在本例中为project2)的上下文中,而不存在于原始应用程序(在本例中为project1)中

注意:我是新来的(1个月+到.NET)


谢谢。

添加参考时,不会复制app.Config。App.config必须位于您的主项目中,在您的案例项目2中。如果将其添加到项目2中并在引用的对象项目1中调用它,则不会出现任何错误,因为VS将从主项目中拾取它。

正确,ConfigurationManager会查找正在执行的程序集以获取app.config或web.config的查阅设置


因此,如果访问配置设置的类库DLL在网站项目下运行,则需要将应用程序设置添加到web.config,而不是类库的app.config。

谢谢。但是为什么文件上没有这么说。。。