我有一个一般性的问题,但我也会解释为什么我在问,这样你就可以更好地理解我的意思。
我有一个dll,在设置中定义了一个webservice url,并且在运行时使用Settings.Default从设置中获取url。然而,我们的任何环境都没有(dllName).dll.config文件,调用应用程序的(exeName).exe.config也没有定义特定的设置。很明显默认值没有被使用,因为它被设置为某个内部IP地址; 然而,这在生产中有效,他们没有在任何.config文件中找到此设置,但它仍然以某种方式命中了正确的webservice URL。我需要知道在这种情况下该值是从哪里加载的。
所以我的更广泛的问题是,.net中如何加载设置的层次结构是如何工作的?例如,它首先查找machine.config,然后查找(exeName).exe.config,如果是dll,则会转到(dllName).dll.config吗?它首先在哪里查找,在其他位置中查找的顺序是什么,除了我没有提到的位置,还有其他地方可以定义此配置吗?
此外,对于一个DLL,如果您在设置中定义了某些内容,那么它是否作为默认值嵌入编译的dll中,并且如果在任何其他.config文件中找不到该属性,是否会使用该值?
我有一个dll,在设置中定义了一个webservice url,并且在运行时使用Settings.Default从设置中获取url。然而,我们的任何环境都没有(dllName).dll.config文件,调用应用程序的(exeName).exe.config也没有定义特定的设置。很明显默认值没有被使用,因为它被设置为某个内部IP地址; 然而,这在生产中有效,他们没有在任何.config文件中找到此设置,但它仍然以某种方式命中了正确的webservice URL。我需要知道在这种情况下该值是从哪里加载的。
所以我的更广泛的问题是,.net中如何加载设置的层次结构是如何工作的?例如,它首先查找machine.config,然后查找(exeName).exe.config,如果是dll,则会转到(dllName).dll.config吗?它首先在哪里查找,在其他位置中查找的顺序是什么,除了我没有提到的位置,还有其他地方可以定义此配置吗?
此外,对于一个DLL,如果您在设置中定义了某些内容,那么它是否作为默认值嵌入编译的dll中,并且如果在任何其他.config文件中找不到该属性,是否会使用该值?