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