【问题标题】:Accessing another projects app.config properties?访问另一个项目 app.config 属性?
【发布时间】:2014-05-12 04:57:47
【问题描述】:

我的解决方案中有两个项目,在本例中,我将它们称为项目 A 和 B。

项目B引用A。项目B可以访问项目A的app.config属性吗?

我希望访问 A 的 app.config 中的应用密钥字符串。

string tfsUri = ConfigurationManager.AppSettings["TfsUri"];

【问题讨论】:

    标签: c# configuration app-config configurationmanager


    【解决方案1】:
           var path = @"C:\Users\Stephen\source\repos\SensurityConfigurationTool\Configuration.UI\App.config";
            string directory = Path.GetDirectoryName(path);
            var pathRoot = Path.GetPathRoot(directory);
            string file = Path.GetFileName(path);
    
    
            ExeConfigurationFileMap fileMap = new ExeConfigurationFileMap
            {
                ExeConfigFilename = Path.Combine(Path.GetFullPath(directory + "\\" + file))
            };
    
            System.Configuration.Configuration config = ConfigurationManager.OpenMappedExeConfiguration(fileMap, ConfigurationUserLevel.None);
    

    你基本上得到了相对路径,然后将其转换为绝对路径

    【讨论】:

      【解决方案2】:

      这通常不是一个好主意,因为您会在项目之间引入硬依赖关系。因此,如果您可以复制粘贴配置值,那将使您的项目自包含(但是,这会引入配置值的重复)。

      您也可以自动执行此操作,以便在构建项目时自动解析配置依赖关系。

      话虽如此,还有其他选项,在每种情况下,您可能更喜欢使用其他选项。您的其他选择是:

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-04-09
        • 2011-05-22
        • 1970-01-01
        • 2020-09-05
        • 1970-01-01
        • 1970-01-01
        • 2017-10-17
        • 1970-01-01
        相关资源
        最近更新 更多