Pracowałem na funkcję w zeszłym tygodniu, że dodać kilka odbiorników przypadku wystąpienie określonej listy. (I blogowane trochę o tym tutaj listy odbiornika).
Przy użyciu wiersza polecenia, Z błąd nie może zainstalować funkcję (ale można znaleźć poniżej w ukrytych błąd). Kiedy próbował wdrożyć funkcję na stronie, MOSS spornej "FileNotFoundException" błąd. Ten wpis w blogu zawiera opis jak go rozwiązał.
Jest to błąd, który MOSS pokazał mnie w przeglądarce sieci web:
Funkcja "b2cb42e3-4f0a-4380-aaba-1ef9cd526f20’ nie można zainstalować ponieważ ładowanie zestawu odbiornika zdarzeń "xyzzyFeatureReceiver_0" nie powiodło się: System.IO.FileNotFoundException: Nie można załadować pliku lub wirtualny plik dziennika ' xyzzyFeatureReceiver_0’ lub jednej z jego zależności. System nie może odnaleźć określonego pliku. Nazwa pliku: "xyzzyFeatureReceiver_0’ w System.Reflection.Assembly.nLoad(AssemblyName nazwa_pliku, Ciąg codeBase, Dowody assemblySecurity, Zespół locationHint, StackCrawlMark& stackMark, Logiczna throwOnFileNotFound, Logiczna forIntrospection) w System.Reflection.Assembly.InternalLoad(AssemblyName elementu assemblyRef, Dowody assemblySecurity, StackCrawlMark& stackMark, Logiczna forIntrospection) w System.Reflection.Assembly.InternalLoad(Ciąg assemblyString, Dowody assemblySecurity, StackCrawlMark& stackMark, Logiczna forIntrospection) w System.Reflection.Assembly.Load(Ciąg assemblyString) w Microsoft.SharePoint.Administration.SPFeatureDefinition.get_ReceiverObject() OSTRZEŻENIE: Montaż wiązania rejestrowanie jest wyłączone OFF. Aby włączyć rejestrowanie, ustawić wartość rejestru [HKLMSoftwareMicrosoftFusion!EnableLog] (DWORD) do 1. Uwaga: Istnieje niektóre kary wydajności związanych z rejestrowanie. Aby wyłączyć tę funkcję, Usuń wartość rejestru [HKLMSoftwareMicrosoftFusion!EnableLog].
Rozwiązywanie problemów z programem Windows SharePoint Services z.
|
Wiem, jak celowo spowodować błąd ten: nie należy instalować wirtualny plik dziennika w pamięci podręcznej GAC. Ale, to było w pamięci podręcznej GAC. Normalnie instalowania zestawów w pamięci podręcznej GAC, przeciągając je do c:\windowsassembly folderów przy użyciu Eksploratora windows. Nigdy nie czułem 100% komfortowe robić iż ponieważ zawsze myślę, że gacutil istniały z powodu … tak próbowałem, że. To nie ma różnicy.
Przeszukiwane Internets i znaleźć na stanowisku tym: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2243677&SiteID=1
Plakat się stało się przy użyciu tych samych bit głównego kodu (z książki wewnątrz WSS z tej listy) tak to było znakiem nadziei. Jednakże, Sugerowanie wykończeniowe Zgromadzenie z [montaż: ] dyrektywy nie ma sensu do mnie. Próbowałem i tak, i miałem rację. To nie ma różnicy.
Potem zauważyłem, że moja definicja klasy nie był publiczny. Zrobiłem to za publiczne i że nie ma różnicy.
Następny, Ja poszedłem do problemów umożliwienia "Zgromadzenie wiązanie awarii dziennik" (w następstwie pomocne i dokładne instrukcje pod warunkiem) i to jest gdzie wszystko zaczęło się ciekawie. Log pokazuje mi, że runtime jest wyszukiwanie wszędzie na tym serwerze do mojego zestawu. To nawet wydaje się być to wyszukiwanie w mojej apteczce. Ale … on nie będzie go wyszukać w pamięci podręcznej GAC.
Umieścić na moim kurtka zimowa i ponownie go do poszukiwania Internets i znaleźć, że ktoś miał ten problem zbyt. Długich dyskusji w tym księgowania peters off na nic i nie może znaleźć rozwiązanie.
Przenoszę mój zespół w jednym z miejsc, które dziennik twierdzi, to jest wyszukiwanie i trochę więcej postęp. Jestem nagrodzone nowy błąd w przeglądarce, podczas ja próbować wobec przyśpieszyć ten cecha:
Nie można utworzyć obiektu odbiornik funkcji z zestawu "xyzzyFeatureReceiver_0", Wpisz "Conchango.xyzzyFeatureReceiver" dla funkcji b2cb42e3-4f0a-4380-aaba-1ef9cd526f20: System.ArgumentNullException: Wartość nie może być zerowy. Nazwa parametru: Typ w System.Activator.CreateInstance(Typ, Logiczna nonPublic) w System.Activator.CreateInstance(Typ) w Microsoft.SharePoint.Administration.SPFeatureDefinition.get_ReceiverObject()
Rozwiązywanie problemów z programem Windows SharePoint Services z.
|
Czas na jedną podróż ostatni do Internets!
Tym razem dowiedzieć się, wystarczająco właściwie, że MOSS kwestie ten błąd, ponieważ wirtualny plik dziennika nie jest w pamięci podręcznej GAC.
Chcę, aby uzyskać coś pozytywne z tej i spróbuj się trochę dumny, że została utworzona Ścigany instrukcje MSIL zestawów, ale to nie działa. Jestem po prostu zły. Znalazłem się mrucząc "jajko czy kura" pod my breath.
W końcu zdecydować do punt. I stworzyć zupełnie nowy projekt i Kopiuj/wklej kod z incredible-cloaked-from-the-GAC-assembly projektu pracy nad nowy projekt. (Mam szukać kompilacji flagę o nazwie coś w stylu „Ukryj z zestawu wiążące Jeśli zainstalowany w pamięci podręcznej GAC" ale nie może odnaleźć jednego).
Zainstalować funkcję i go uaktywnić i … to działa! Tak, po tym wszystkim, Miałem na zasadzie "restart’ mój projekt. Jest to kolejny powód dlaczego I hate komputerów.
Dowiedzieć się coś pożytecznego z tego. Miał Instalowanie funkcji przy użyciu wiersza polecenia stsadm cały dzień i zostały z wykorzystaniem "-życie" Opcja z przyzwyczajenia. Z jakiegoś powodu, I nie używać opcji - force gdy zainstalowałem nowego projektu. Tym razem, I did faktycznie, prawdziwie zapominać wobec kopiować ten nowy projekt wirtualny plik dziennika w pamięci podręcznej GAC. W rezultacie, Mimo że odebrano tego FielNotFoundException"" błąd. Tym razem, I got it z stsadm, nie podczas ja wypróbowany wobec przyśpieszyć ten cecha za pośrednictwem przeglądarki sieci web. Tak, -życie faktycznie pełni dwie role. To pozwala ponownie zainstalować funkcję istniejących. To również pozwala na zainstalowanie buggy funkcja, która nie może pracować w czasie wykonywania przez pomijanie błąd. To chyba mówi tyle gdzies w pomocy, ale nigdy nie zauważyłem.
</koniec>