目前我有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
,但它只返回任何内容。它不会抛出异常,只返回一个空字符串。
任何想法都非常感激。
答案 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以获得一些帮助。