Jako że poprzednie odsłony .NETowych “zagadek” cieszyły się dużą popularnością – czas na kolejna porcję. W dzisiejszym odcinku podążymy tutaj:

Każdy zna to okno. A czy każdy wie skąd bierze się jego zawartość (chodzi konkretnie o zakładkę “.NET”)? Podpowiem, że mi wiadomo o trzech takich źródłach – być może jest ich więcej?
Czekam na komentarze, niechaj chwała i blask z nich bijące będą wystarczającą zachętą dla znających odpowiedzi:).
GAC
Eee, wtedy to by nie była żadna zagadka a po prostu durne pytanie. GAC, pomimo swojej "oczywistości" i "nadawalności się do tego", nie jest poprawną odpowiedzią.
"A czy każdy wie skąd bierze się jego zawartość" z Visual Studio :P
Ok, proszę o podpowiedź: czy chodzi o to gdzie są szukane Assembly do wyświetlenia w tym oknie ;>
@Jacek:
Też dobrze, ale to nie jest jedno z tych 3 źródeł o których pisałem;)
@Tom:
Tak. Albo może dokładniej… Co trzeba zrobić żeby nasza własna dllka się tam pojawiła?
1) Rejestr: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\AssemblyFolders
2) Katalog: C:\Program Files\Microsoft Visual Studio[wersja]\Common7\IDE\PublicAssemblies
Tego nie próbowałem, ale podobno działa
3) Rejestr: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\[wersja]\AssemblyFolders
No i Kazik zepsuł zabawę:)
generalnie ciekawsza jest historia o tym, dlaczego GAC w tym przypadku jest złą odpowiedzią i co kierowało zespołem aby takie zachowanie było by design
Szukałem o tym informacji ale nie trafiłem nawet na szczątkowe uzasadnienie. Faktycznie ciekawie byłoby cos o tym poczytać – dlaczego nie GAC i dlaczego nie ma prostszego sposobu na ręczne dodanie plików do tej listy?
Dlaczego nie GAC: bo to co masz zainstalowane na swojej maszynie nie musi być tym, czego potrzebuje twoja aplikacja. takie podejście wydaje się być rozsądnym (bardzo szczątkowo wyjaśnił to Junfeng Zhang w http://blogs.msdn.com/junfeng/archive/2004/03/22/93708.aspx). Pytanie dlaczego jest to tak bardzo zamotane i dlaczego jest tak bardzo nieudokumentowane (np. która z trzech metod jest poprawna) zostaje otwarte.
Dodam tylko, że niektóre komponenty SQL Server 2005 zachowują się identycznie (zwłaszcza te, które mają coś wspólnego z VS 2005). Np. assemblies, z których mogą skorzystać komponenty skryptowe Integration Services, muszą być umieszczone w odpowiednich katalogach. Umieszczenie ich w GACu niczego nie daje. Wszyscy płyniemy tą samą łódką, jak widać :-)
"WSZYSCY JEDZIEMY NA TYM SAMYM WÓZKU OD STRACHU RATUJE NAS TYLKO DEFEKT MÓZGU"
nawet nie wiem skąd to znam :)
To może podpowiem:
http://jakpunktopunk.wrzuta.pl/audio/rjT8SJ06ls/defekt_muzgo_-_wszyscy_jedziemy
Tylko ciężko pod tę melodię zaśpiewać "Wszyscy płyniemy tą samą łódką".
Procent, czyżby klasyka polskiego punka nie była Ci obca?
Apl, nie wiem czy cokolwiek jest bardziej mi obce niż klasyka polskiego punka :)
a jak można dodać coś do zakładki COM ?