2010-03-31 14 views

Répondre

3

OK. C'est trop tard mais je pourrais répondre. Vous avez besoin quelque chose comme ceci:

private IUnityContainer ReadContainer() 
    { 
     var unityCommon = (UnityConfigurationSection)ConfigurationManager.GetSection("unityCommon"); 
     IUnityContainer returnValue = new UnityContainer(); 
     unityCommon.Configure(returnValue, "Common"); // Unnamed <container> element 
     var unitySpecific = (UnityConfigurationSection)ConfigurationManager.GetSection("unitySpecific"); 
     unitySpecific.Configure(returnValue, "Specific"); // 
     return returnValue; 
    } 

Et cette app.config dans:

<configSections> 
     <section name="unityCommon" type="Microsoft.Practices.Unity.Configuration.UnityConfigurationSection, Microsoft.Practices.Unity.Configuration"/> 
     <section name="unitySpecific" type="Microsoft.Practices.Unity.Configuration.UnityConfigurationSection, Microsoft.Practices.Unity.Configuration"/> 
    </configSections> 

    <unityCommon configSource="unity.common.config.xml" /> 
+0

Un inconvénient de cette approche est que dans les fichiers de configuration individuels (par exemple, unity.common.config.xml), le nom de l'élément racine doit correspondre au nom de l'élément dans app.config (par exemple, ), donc IntelliSense ne fonctionnera pas. Est-ce que quelqu'un sait un moyen de contourner cela? – Jimothy

+0

Qu'est-ce que unityMedication? – AksharRoop

+0

@AksharRoop Le seul médicament évident ici est ce que vous êtes sur. Ça doit être un truc puissant, mec. – ProfK