0

c# Visual Studio 2010 で DLL アプリケーション設定の読み込みに問題があります。 ConfigurationManager で失敗するため、リフレクションを使用して回避するサンプル コードを投稿します。

private string LDAPDomain 
{  
    get
    {
        string strPath = System.Reflection.Assembly.GetExecutingAssembly().GetModules()[0].FullyQualifiedName;
        string val = GetValues(strPath, "LDAPDomain"); 
        return val;
    }
}


//strPath is path of the file.
//strKey is key to access

private string GetValues(string strPath, string strKey)
{
    System.Configuration.Configuration con = System.Configuration.ConfigurationManager.OpenExeConfiguration(strPath);
    string strValue = con.AppSettings.Settings[strKey].Value;

    return strValue;
 }
4

1 に答える 1

2

DLL を参照するメイン プロジェクトがアプリの設定を取得することを期待している場合、そのようには機能しません。は実行中のアセンブリのConfigurationManager構成を読み取ります。これを使用する場合は、必要なすべての構成をアプリに入れる必要があります。

または、DLL の app.config ファイルの内容を手動で読み取ることもできます。サンプル コードについては、この質問を参照してください。

于 2012-09-07T13:21:30.073 に答える