Como você pode fazer uso do add-in quadro em .NET 3.0?
Pergunta
Existem algumas atualizações com .NET 3.0 a respeito de como criar e usar suplementos para seus próprios aplicativos. Eu li sobre alguns " gasoduto " você tem que criar para a comunicação entre add-in e host-aplicação, mas não conseguiu encontrar mais informações sobre ele.
Como você fez um add-in funcionalidade em um aplicativo com .NET 3.0 / 3.5?
Informações adicionais, se necessário : O aplicativo host é feito com WPF e algumas funcionalidades geral. Cada suplemento deve adicionar um próprio registo-guia para um determinado recipiente com seu próprio conteúdo (botões, campos de texto, ...) e métodos para estender o aplicativo host.
Solução
Definitivamente consulte a extensibilidade Framework geridos em www.codeplex.com/mef . É uma estrutura que ajuda com a criação de aplicações extensíveis. Ela cuida de todas as canalizações ao criar um aplicativo conectável. Atualmente estou escrevendo uma série de artigos que mostram a funcionalidade básica do mef em http: // www .jenswinter.com /? tag = / mef . Mas os artigos estão em embora alemão.
Outro quadro que você deve dar uma chance é o CompositeWPF (Prism f.k.a.). Ele permite que você crie aplicativos WPF compósitos. Seu aplicativo será composto de um aplicativo shell e vários projetos de módulos que estão ligados entre si e viciado no shell.
Outras dicas
Além de Daniels codeplex link, Jason Ele também possui uma bela série de altas sobre o uso do namespace System.AddIn ao desenvolver Paint.NET começando aqui -
http://blogs.msdn.com/zifengh/archive/2007/01/04/addin-model-in-paint-net-1-introduction.aspx
Há também está disponível agora o Managed Extensibility Framework ( www.codeplex.com/mef ) que permite alavancar uma plataforma plug-in rico.
Você também pode achar que a injeção de dependência é ao longo das linhas de algo que você poderia usar ( Unidade , StructureMap para citar apenas dois).
Você pode criar uma plataforma plug-in em cima de um quadro de injeção de dependência, embora uma plataforma plug-in dedicado como MEF provavelmente vai ser mais fácil de implementar.