0

我为第 3 方应用程序编写扩展。该应用程序调用我的类库。当从另一个程序调用时,我无法让我的程序集从他们的 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);
    }

单元测试代码,MSTEST

    [TestMethod]
    public void TestAppConfig()
    {
        TestClass c = new TestClass();
        c.Run();//fails here
    }

Main() 有效,TestAppConfig() 因 ArgumentOutOfRangeException 而失败

指数超出范围。必须是非负数且小于集合的大小。

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

4

1 回答 1

0

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

于 2012-06-15T14:58:56.053 回答