autor: W ramach kontynuacji serii wpisów związanych Managed Add-in Framework (MAF / System.AddIn) ([1], [2], [3]) chciałbym pokazać przykład pokazujący, w jaki sposób MAF rozwiązuje problem z kompatybilnością wtyczek po zmianie kontraktu. Niniejszy przykład jest pewnego rodzaju kontynuacją przykładu przedstawionego we wpisie pt.: "Przykład prostej aplikacji z obsługą wtyczek z wykorzystaniem Managed Add-in Framework (System.AddIn)", zakłada on sytuację w której istniejący kontrakt ulega zmianie, by umo...
autor: W poprzednim wpisie przybliżyłem czytelnikom teorię związaną z MAF-em (patrz: "[MAF 01] Rzut okiem na Managed Aadd-in Framework (System.AddIn)"), w tym wpisie chciałbym przedstawić prosty przykład aplikacji z obsługą wtyczek z wykorzystaniem Managed Aadd-in Framework (System.AddIn). Niniejszy przykład jest bardzo prostą aplikacją, która odnajduje wtyczki, a następnie z nich korzysta. Wszystkie zagadnienia będą maksymalnie uproszczone, mimo wszystko konieczne jest przygotowanie całego pipeline'u k...
autor: Nie dawno (patrz wpis: „Rozszerzanie aplikacji .NET (czyli plugin'y, add-in'y, MAF, MEF, itp. ...)”) wspomniałem na tym blogu o Managed Aadd-in Framework (zwanego również System.AddIn lub MAF), przyjrzyjmy się bliżej temu rozwiązaniu. Naszą przygodę z MAF zacznijmy może od powrotu to pokazanego wcześniej rysunku, który zaczerpnięty został z MSDN: Muszę przyznać, że musiałem się chwilę zastanowić, gdy go pierwszy raz zobaczyłem. Przedstawia on tzw. pipeline, czyli ścieżkę prowadzącą przez poszcze...
Architektura 4626 dni, 10 godzin, 20 minut temu 105 źrodło rozwiń
Autor: Zostałem ostatnio zapytany jak można zaimplementować aplikację, bazującej na .NET, która miałaby być rozszerzana za pomocą wtyczek (czasem nazywanych też: Add-In, Add-On, Rozszerzenie, Extension, Plug-In, Snap-In, ...), z których każda uruchamiana by była w bezpiecznym środowisku (np. odrębnej domenie aplikacyjnej). Przyjrzyjmy się więc jakie są możliwości tworzenia rozszzerzeń dla aplikacji (.NET) i jak można przy ich pomocy zapewnić wspomniane bezpieczeństwo. Sposób „wszystko zrobię sam (może ud...
Dzisiejszy wpis chciałem poświęcić dodatkowi do Visual Studio, bez którego uważam, że nie da się pracować. Osoby, które go nie używały nie wiedzą co tracą. Tym dodatkiem jest Productivity Power Tools. Jest on darmowy i można go pobrać ze strony http://visualstudiogallery.msdn.microsoft.com/en-us/d0d33361-18e2-46c0-8ff2-4adea1e34fef. Instalacja jego jest bajecznie prosta. Należy tylko pamiętać, że trzeba po jego zainstalowaniu zresetować Visual Studio. A...
Od początku pracy nad DesktopInfo wiadome było, że będzie potrzebny mechanizm do ładowania pluginów, dodatkowych modułów, które rozszerzą możliwości aplikacji bez potrzeby jej rekompilacji. Pierwszy pomysł jaki przechodzi do głowy to refleksja. Jednak jakiś czas temu postała biblioteka MEF, która została włączona do .NET Framework 4.0 Ponieważ aplikacja DesktopInfo wykorzystuje właśnie tą wersję .NET, to dlaczego nie wykorzystać nowej funkcjonalności. Zatem zobaczmy krok po kroku co jest potrzebne aby ...
Architektura 5133 dni, 13 godzin, 17 minut temu 160 źrodło rozwiń
Visual Studio 2010 wprowadza dużo zmian i mnóstwo ułatwień w sposób rozszerzania środowiska. Microsoft dołożył wielu starań aby proces tworzenia wtyczek był o prostszy, niż było to do tej pory. I zgadnijcie co? Udało się!
Rozszerzalność od dawna jest w modzie: praktycznie żadna poważniejsza aplikacja nie obywa się bez jakiegoś systemu pluginów, czyli "wtyczek" zwiększających jej funkcjonalność. Niektóre robią to przy okazji (acz ze słusznych powodów), inne czynią z elastyczności i rozszerzalności swój główny oręż (patrz np. uniwersalne komunikatory w typie Mirandy). Wszystko to kojarzy się trochę linuksiarsko, ...
Architektura 5217 dni, 9 godzin, 9 minut temu 174 źrodło rozwiń
„Mamy aplikację napisaną dla .NET 2.0, która obsługuje wtyczki (plugin'y). Chcemy opracować dla niej wtyczkę, oferującą nową funkcjonalność. Z jakiegoś powodu (np. z wygody lub lepszych rozwiązań technicznych) wtyczkę chcielibyśmy przygotować w .NET 4.0. Czy nam się to uda?” Zobaczmy przykład.
Dziś będzie prosty artykulik o katalogach, plikach, assembly, typach, interfejsach itp... Czyli pokazane zostanie jak wykorzystać te wspomniane elementy, by zaimplementować prosty mechanizm wtyczek (plugin'ów) dla aplikacji. Założenia: Chcemy mieć aplikację, która wykorzystuje mechanizm wtyczek; Wtyczka ma dostarczać pewien tekst (może robić co tylko zechcemy, ale przykład z założenia ma być prosty); Wtyczka będzie plikiem DLL, który znajdować się będzie w tym samym katalogu co aplikacja korzystając...