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

本文关键字:高层 调用 支持 config 文件 是否 app | 更新日期: 2023-09-27 18:37:25

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

控制台应用程序中的应用配置.exe

<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 是否会停止工作?

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

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