サード パーティ アプリケーションの拡張機能を作成します。アプリケーションがクラス ライブラリを呼び出します。別のプログラムから呼び出されたときに、アセンブリが 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 は機能しなくなりますか?