Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# app.config文件是否支持从更高层调用?_C#_.net - Fatal编程技术网

C# app.config文件是否支持从更高层调用?

C# app.config文件是否支持从更高层调用?,c#,.net,C#,.net,我为第三方应用程序编写扩展。应用程序调用我的类库。当从另一个程序调用程序集时,我无法让程序集读取其app.config数据。下面用单元测试再现了这个问题 ConsoleApplication.exe中的App.config <appSettings> <add key="testKey" value="testvalue" /> </appSettings> static void Main(string[] args) {

我为第三方应用程序编写扩展。应用程序调用我的类库。当从另一个程序调用程序集时,我无法让程序集读取其app.config数据。下面用单元测试再现了这个问题

ConsoleApplication.exe中的App.config

<appSettings>
    <add key="testKey" value="testvalue" />
</appSettings>

    static void Main(string[] args)
    {
        TestClass c = new TestClass();
        c.Run();
    }

    //TestClass.Run()
    public void Run()
    {
        var readAppConfig = ConfigurationManager.AppSettings[0];
        MessageBox.Show("App config: " + readAppConfig);
    }
主要工作,TestAppConfig失败,ArgumentOutOfRangeException

索引超出范围。必须为非负数且小于 收藏


从外部程序集调用App.config时是否停止工作?

应用程序设置必须位于最高级别的组件中。在这种情况下,您的MSTEST App.config需要保留这些设置。

单元测试有自己的应用程序配置。这里有一个类似的答案:
    [TestMethod]
    public void TestAppConfig()
    {
        TestClass c = new TestClass();
        c.Run();//fails here
    }