Zgodnie ze wcześniejszym postanowieniem poduczam się do tego egzaminu 70-536 no i już na początku znalazłem cosik ciekawego. Atrybut tak zwany jak w temacie. MSDN za wiele nie mówi, na ten temat więc musiałem skorzystać z dobrodziejstw google :-).

No i okazało się, że to całkiem ciekawy atrybut. Pozwala na wskazanie, że dany typ znajduje się w innym assembly. Po co to wszystko? A no, może się tak zdarzyć, że majać jakąś bibliotekę typów, z której korzysta wiele napisanych przez nas aplikacji, okaże się, iż jeden z nich chcemy przenieść do innej biblioteki, aby bardziej była oddany rzeczywista zależność między obiektami. Po takim zabiegu, oczywiste, że aplikacje korzystające z poprzedniej biblioteki nie uruchomią się bo nie będą mogły załadować danego typu. Z pomocą przychodzi nam ten atrybut. 🙂
Wystarczy w starej bibliotece napisać:

[assembly: TypeForwardedTo( typeof( PrzeniesionyTyp ) )]

i przekompilować obie biblioteki…i już mamy wszystko pięknie działające. Atrybut ten ma troszkę ograniczeń jak choćby to, iż typ przed przeniesienim i ten po przeniesieniu muszą znajdować się w tym samym namespace.
Więcej informacji na temat tego atrubutu można znaleźć tu: Link (choć pewnie nie tylko tu :-)).