无法访问其他项目的app.config文件

时间:2012-03-01 10:32:15

标签: c# app-config

目前我有2个应用程序,App1和App2。

App1有一个app.config文件,我存储了字符串InstallDir。我可以使用Properties.Settings.Default.InstallDir从App1中访问此内容。哪个效果很好,但我需要能够从App2访问它。

我在VS中将可访问性从Internal更改为Public。当我尝试从App2访问它时,我添加了对App1的引用并使用using App1;App1.Properties.Settings.Default.InstallDir,但它只返回任何内容。它不会抛出异常,只返回一个空字符串。

任何想法都非常感激。

4 个答案:

答案 0 :(得分:3)

每个应用程序都有自己的app.config文件,从运行时读取配置。您在App2中引用了App1,允许您在运行时访问App1.Properties.Settings.Default.InstallDir变量,因为在App2的app.config中没有相应的值,它返回null。

答案 1 :(得分:2)

如果你想在2个项目之间访问一些(我推测)共享配置选项,请在第一个项目上为配置创建包装器(假设为static类)并使用它来自你的第二个项目。

答案 2 :(得分:0)

您只能编写自己的代码来切换读取另一个配置文件,即使您添加App2作为参考它不会神奇地给您访问,将其作为普通文件读取或使用ConfigurationManager.OpenMappedExeConfiguration:http://msdn.microsoft.com/en-us/library/ms134269.aspx < / p>

答案 3 :(得分:0)

您的应用程序只会加载一个配置文件,如果您想从另一个文件读取值,您需要显式加载它。

请查看Using ConfigurationManager to load config from an arbitrary location以获得一些帮助。