Pergunta

Como posso organizar múltiplas aplicações Composite WPF para que eles compartilham um único projeto Shell mas preencher seus catálogos de módulos de diferentes arquivos App.config?

Eu estou escrevendo um conjunto de aplicativos que utilizam Composite Application Guidance for WPF. funcionalidade de cada aplicação é determinada pela disponibilidade de diferentes módulos, que são listados na config.XML da Shell. Dando a cada aplicação um App.config diferente, posso especificar quais módulos cada aplicação pode usar.

No entanto, eu gostaria de compartilhar um único projeto Shell entre todos os pedidos de aparência comum. Inicialmente I criou uma solução para cada aplicação, acrescentou o projecto Shell, e acrescentou os módulos relevantes. O problema é que o projeto comum Shell tem apenas um arquivo App.config, e eu não posso mudá-lo em uma base per-Solution.

Preencher o catálogo através de código não evitar este problema -. Ainda haveria código específico do aplicativo no Shell que deve de alguma forma ser ativado pelo Solution Eu estou usando

Foi útil?

Solução

O que eu decidi fazer foi tratar a Shell como seu próprio módulo. Cada aplicação tem a sua própria solução e projeto, que contêm os arquivos App.config individuais. Eles também têm as suas próprias classes Bootstrapper. O Bootstrapper em cada aplicativo instancia a Shell.

Outras dicas

Além de módulos de codificação de disco rígidos e módulos de carregamento da configuração, você pode também carregar módulos dinamicamente a partir de um determinado diretório.

Assim, para configurar diferentes "apps" que todos usam o mesmo shell, eu criar um arquivo em lotes que copia os módulos corretos para cada aplicativo para pastas separadas, criando, assim, as diferentes aplicações.

A documentação Orientação Biblioteca Composite tem mais sobre a configuração de seu projeto para carregar módulos dinamicamente a partir de um diretório.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top