Prism / MEF: Cómo registrar ViewWithRegion sin codificar el nombre de la región

Estamos construyendo una aplicación WPF Prism. Tenemos diferentes desarrolladores trabajando en diferentes proyectos de módulos, y se inyectan varios módulos en el Shell de aplicación principal. La aplicación principal también es un proyecto separado. También queremos poder usar los módulos en diferentes aplicaciones. No queremos tener que nombrar a las Regiones con los mismos nombres en cada aplicación.

Por ejemplo, supongamos que tenemos un módulo para usar en dos aplicaciones diferentes. En una aplicación, su desarrollador puede nombrar la región del módulo "DetailsRegion", y en la otra, su desarrollador puede nombrarla "ResultsRegion".

Cada ejemplo que puedo encontrar registra la Vista con la Región codificando el nombre de la regiónen la definición de clase del módulo:

myRegionManager.RegisterViewWithRegion("RegionNameHere", GetType(ModuleViewType))

Lo que quiero hacer es poner el nombre de la Región en el archivo app.config de la aplicación principal y pasar este nombre al módulo. Algo como esto

En la aplicación principal de la aplicación Shell.config:

<Modules>
   <SearchModule>
       <add key="RegionName" value="SearchRegion" />
    </SearchModule>
</Modules>

Y en el archivo de clase del módulo:

Dim settings As NameValueCollection = CType(ConfigurationManager.GetSection("Modules/SearchModule"), NameValueCollection)
Dim regionName as string = settings("RegionName")
myRegionManager.RegisterViewWithRegion(regionName, GetType(SearchModuleType)

e alguna manera, este sería el último paso para desacoplar completamente los módulos del shell y entre sí.

Esto funciona perfectamente en elpuntos de vist del módulo. Pero no puedo hacerlo en el módulo definición de clase archivo, ya que ConfigurationManager no está disponible en ese nivel.

Puedo hacer esto poniendo el nombre de la región en la sección ApplicatonSettings de la módulo app.config. Pero esto anula el propósito de poder almacenar el módulo en una ubicación para que lo carguen varias aplicaciones. Realmente necesita estar en la aplicación principal app.config.

¿Hay alguna forma de registrar la Vista de un módulo con una Región, sin codificar el nombre de la Región en el código? Nos esforzamos tanto para NO codificar nada. ¿Es realmente necesario aquí?

Respuestas a la pregunta(2)

Su respuesta a la pregunta