可以';t访问另一个项目';的app.config文件

本文关键字:app config 文件 访问 可以 另一个 项目 | 更新日期: 2023-09-27 18:26:10

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

App1有一个app.config文件,我在其中存储字符串InstallDir。我可以使用Properties.Settings.Default.InstallDir从App1-fine访问它。这很好,但我需要能够从App2访问它。

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

非常感谢任何想法。

可以';t访问另一个项目';的app.config文件

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

如果您想在两个项目之间访问一些(我想)共享配置选项,请为第一个项目上的配置创建包装器(比如static类),并在第二个项目中使用它。

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

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

请参阅使用ConfigurationManager从任意位置加载配置,以获得一些帮助。