如何从同一个解决方案中读取另一个项目的配置值?

时间:2017-02-28 07:20:41

标签: c# asp.net asp.net-mvc

var userName = ConfigurationManager.AppSettings["FileUploadRoot"];

我为变量Username获取null。关键FileUploadRoot在另一个项目Web配置条目中,上面的代码片段在另一个项目类文件中。那么请告诉我如何从Web配置文件中获取值

2 个答案:

答案 0 :(得分:1)

最好的方法是在第一个项目中包含配置值,使其自包含。

您可以在项目中使用包含web.config文件的静态类,并在internal属性中的web.config中公开值

您可以使用以下内容:

  static class Utility
    {
        internal static string FileUploadRoot
        {
            get
            {
                return ConfigurationManager.AppSettings["FileUploadRoot"];
            }
        }
    }

另一种解决方案是将文件添加为项目的链接。

  1. 右键单击解决方案资源管理器中的项目。
  2. 选择添加现有项目...
  3. 在OpenFileDialog中选择web.config文件,但在对话框中选择Add as Link选项。
  4. enter image description here

答案 1 :(得分:1)

有内置功能:

string otherExe = @"C:\projects\otherExe\bin\Debug\BillsAndStatementsArchiver.exe";
Configuration otherConfig = ConfigurationManager.OpenExeConfiguration(otherExe);
string fileUploadRoot = otherConfig.AppSettings.Settings["fileUploadRoot"].Value;