Rešitev problema: “FileNotFoundException” Z mojo funkcijo sprejemnik.

Sem delal na funkcijo prejšnji teden, da bi dodali nekaj dogodek sprejemniki poseben seznam stopnje. (Sem blogged malo o tem seznamu sprejemnik tukaj).

Uporaba ukazne vrstice, Lahko namestite funkcijo s ne zmota (Toda glej spodaj za skrite napake). Ko sem poskušal uvesti funkcijo na mestu, MAH pritožil, "FileNotFoundException" Napaka. Ta blog vnos opisuje, kako jaz rešiti to.

To je napaka, da mah mi je pokazal v web brskalnik:

Funkcija "b2cb42e3-4f0a-4380-Jože Kajin-1ef9cd526f20’ ni mogoče namestiti, ker natovarjanje zbira prejemnika dogodkov »xyzzyFeatureReceiver_0" ni uspelo: System.IO.FileNotFoundException: Ni bilo mogoče naložiti datoteke ali sestavljanje "xyzzyFeatureReceiver_0’ ali ene od njenih odvisnosti. Sistem ne najde navedene datoteke.
Ime datoteke: "xyzzyFeatureReceiver_0’
na System.Reflection.Assembly.nLoad(»AssemblyName «ime datoteke, Niz codeBase, Dokazi assemblySecurity, Skupščina locationHint, StackCrawlMark& stackMark, Logična throwOnFileNotFound, Logična forIntrospection)
na System.Reflection.Assembly.InternalLoad(»AssemblyName «assemblyRef, Dokazi assemblySecurity, StackCrawlMark& stackMark, Logična forIntrospection)
na System.Reflection.Assembly.InternalLoad(Niz assemblyString, Dokazi assemblySecurity, StackCrawlMark& stackMark, Logična forIntrospection)
na System.Reflection.Assembly.Load(Niz assemblyString)
na Microsoft.SharePoint.Administration.SPFeatureDefinition.get_ReceiverObject()
WRN: Skupščina zavezujoče sečnja je obrnjen ne sveže.
Skupščina vežejo neuspeh dnevnika omogočite, nastavite vrednost registra [HKLMSoftwareMicrosoftFusion!EnableLog] (DWORD) za 1.
Opomba: Obstaja nekaj učinkovitosti kazni povezane z montažo vežejo neuspeh sečnje.
Če želite izklopiti to funkcijo, premestitev registracija vrednost [HKLMSoftwareMicrosoftFusion!EnableLog].

Odpravljanje težav s storitvijo Windows SharePoint Services.

Vem, kako namerno povzroči to napako: ne namestite sestavljanje v predpomnilniku GAC. toda, je bilo v predpomnilniku GAC. Sem običajno namesti zbire v predpomnilniku GAC, da jih povlečete v c:\windowsassembly mapo z raziskovalcem. Nikoli nisem čutil 100% udobno tem, ker sem vedno mislil, da gacutil obstajala z razlogom … zato sem se potrudil, da. Ni razlike.

Internets iskal in našel ta post: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2243677&SiteID=1

Plakat zgodilo, da se uporabljajo isti koren košček kode (iz notranjosti WSS knjiga s tega seznama) tako, da je znak upanja. Vendar, predlog okrasitev skupščina z na [skupščina: ] direktive ni smiselno, da me. Poskušal sem ga vseeno in sem imel prav. Ni razlike.

Potem pa sem opazil, da moj definicijo razreda ni javno. Naredila sem jo javno in to narejen ne razlika.

Naslednji, Sem šel na trud usposobiti "skupščina vežejo neuspeh dnevnik" (po navodilih koristno in natančno določeno) in to je, kjer se stvari obračajo na zanimivo. To prijaviti kaže mi runtime iščejo povsod na tem strežniku za moje skupščine. Se celo zdi, da se preiskava za to v moje zdravilo omari. toda … to ne bo ga poiščete v predpomnilniku GAC.

Sem dal na moje zimsko jakno in pojdi iskanje Internets in našli, da je nekdo imel ta problem preveč. Dolgotrajni razpravi v objavo, da je peters off v nič in ne najde rešitev.

Sem premakniti moje skupščine v eno od mest, dnevnik trdi, da je iskanje in sem malo več napredovati. Sem nagrajen s nov zmota v brskalniku, ko sem poskušal aktivirati funkcijo:

Ni bilo mogoče ustvariti funkcijo sprejemnik predmet iz zboru "xyzzyFeatureReceiver_0", vrsta "Conchango.xyzzyFeatureReceiver" za funkcijo b2cb42e3-4f0a-4380-aaba-1ef9cd526f20: System.ArgumentNullException: Vrednost ne more biti nič.
Ime parametra: vrsta
na System.Activator.CreateInstance(Vrsta, Logična nejavne dol Nike)
na System.Activator.CreateInstance(Vrsta)
na Microsoft.SharePoint.Administration.SPFeatureDefinition.get_ReceiverObject()

Odpravljanje težav s storitvijo Windows SharePoint Services.

Čas za eno zadnje potovanje Internets!

Tokrat se mi zdi, predvidljivo dovolj, da MOSS izdaja to napako, ker skupščina ni v GAC.

Rad bi dobil nekaj pozitivnega iz tega in poskusite čutiti malo ponosen, da sem ustvaril v Ubežnik MSIL sklopov, vendar to ne deluje. Jaz sem samo navaden motenih. Sem našel sebe Mrmljanje "kura ali jajce" pod mojo sapo.

Končno sem se odločil, da punt. I ustvarite povsem nov projekt in ulitek/pasta zbornik od incredible-cloaked-from-the-GAC-assembly dela projekta nad to nov projekt. (Iščem graditi zastavo, imenuje nekaj podobnega "Skrij iz zbira zavezujoče, če je nameščen v predpomnilniku GAC" vendar ne more najti enega).

Namestiti funkcijo in aktivirate in … to tovarna! Tako, po vsem tem, Sem imel, da v bistvu "odmevajoč’ moj projekt. To je še en razlog, zakaj sovražim računalnike.

Sem izvedeti kaj koristnega iz tega. Je bila namestitev funkcije, ki uporabljajo stsadm zapoved črta ves dan in uporabljali v "-sila" možnost iz navade. Iz neznanega razloga, Sem storil ne raba-sile možnosti, ko sem namestil nov projekt. tokrat, Sem dejansko, resnično pozabite prepisati to nov projekt skupščine v predpomnilniku GAC. Kot posledica, Sem dobil to FielNotFoundException"" Napaka. tokrat, Dobil sem ga od stsadm, ne, ko sem poskušal aktivirati funkcijo preko spletnega brskalnika. Tako, -sile dejansko ima dve vlogi. Vam omogoča, da ponovno namestite obstoječe funkcijo. Prav tako omogoča, da namestite nečistnik funkcija, ki ne more delovati med izvajanjem z ukinitvijo napake. Piše verjetno toliko v pomoč nekje, vendar nikoli nisem opazila, da.

</namen>

Technorati Tags: ,

3 misli o "Rešitev problema: “FileNotFoundException” Z mojo funkcijo sprejemnik.

  1. Francisco

    Tudi, Sem imel svoj 2 ur hysteric nintendoSIXTYFOURRRR-v-a-slab način trenutkov, ko sem preimenoval Namespace na funkcijo sprejemnik, pri iskanju kjer tvoj ali kogarkoli drugega začel.

    Odgovor
  2. Francisco

    Koren problema leži na razporejeno wsp v zbirki sharepoint. Sem prebral vaš post in medtem ko je res popraviti problem imamo ogromno rešitev z več projektov in desetine datotek tako gibljejo vse, kar ni opcija.

    Ne glede na to, koliko vi modernizirati vaš GAC ali vaš skupščine, Kaj je giving vi trud je skupščina v trenutni WSP nameščen sharepoint.

    Si lahko zlahka opazil, da ga poskušam samo umaknete rešitev (ki je, kjer je zmota zgoditi se). Vse, kar se dogaja na "navijanju čas" je treba upoštevati "razporejeno wsp"-samo ne sam projekt.

    Svoj workaround je bil:

    – Central admin: Prekliči rešitev
    – stsadm: deletesolution
    – Visual Studio => Projekta => Paket
    – stsadm: addsolution-datoteka ProjectbinDebugProject.wsp
    – stsadm: deploysolution-ime project.wsp-takojšnje - allowgacdeployment-sila
    – Visual Studio => Uvajanje

    Jaz tudi izbrisati regal in debug mape iz projekta, preden znova zaženete Deploy, Morda nimate nobenega vpliva, vendar vredno komentiranja.

    To tovarna zakaj oboje

    "Zunanja oblika … ni mogoče namestiti, ker natovarjanje zbira prejemnika dogodkov"
    in
    "Ni bilo mogoče ustvariti funkcijo sprejemnik predmetu iz zbira"

    hvala!
    Francisco

    Odgovor
  3. Tom Clarkson

    Pravkar preživel nekaj ur poskuša popraviti to isto vprašanje in našel boljša rešitev kot preprosto oddih projekta.

    Izkazalo se je, da iz nekega razloga, Visual Studio je cilj zgraditi nastaviti x 86 namesto x 64 ali MSIL – Skupščina je v predpomnilniku GAC, samo ne isto GAC ki 64 košček SharePoint iskal.

    Odgovor

Leave a Reply to Francisco preklicati odgovor

Vaš e-naslov ne bo objavljen. Obvezna polja so označena *