Riešenie problému: “FileNotFoundException” S mojej funkcie prijímača.

Bol pracuje na funkciu minulý týždeň, že by pridať niektoré prijímače udalostí na osobitnom zozname stupňa. (Mám blogged trochu o tento prijímač zoznam tu).

Pomocou príkazového riadka, Som mohol nainštalovať funkciu bez chýb (ale pozrite sa nižšie skryté chyby). Keď som sa snažil zaviesť funkciu na mieste, MOSS sťažovali na "FileNotFoundException" chyba. Tento blogu opisuje, ako to vyriešil.

Je to chyba, že Mach mi ukázal vo webovom prehľadávači:

Funkcia "b2cb42e3-4f0a-4380-KacmarovaBlogy-1ef9cd526f20’ Nepodarilo sa nainštalovať, pretože načítanie zostavy príjemcu udalostí "xyzzyFeatureReceiver_0" zlyhalo: System.IO.FileNotFoundException: Nepodarilo sa načítať súbor alebo montáž "xyzzyFeatureReceiver_0’ alebo jedna z jeho závislostí. Systém nemôže nájsť zadaný súbor.
Názov súboru: "xyzzyFeatureReceiver_0’
v System.Reflection.Assembly.nLoad(AssemblyName fileName, Reťazec codeBase, Dôkaz assemblySecurity, Zostava locationHint, StackCrawlMark& stackMark, Logickú throwOnFileNotFound, Logickú forIntrospection)
v System.Reflection.Assembly.InternalLoad(AssemblyName assemblyRef, Dôkaz assemblySecurity, StackCrawlMark& stackMark, Logickú forIntrospection)
v System.Reflection.Assembly.InternalLoad(Reťazec assemblyString, Dôkaz assemblySecurity, StackCrawlMark& stackMark, Logickú forIntrospection)
v System.Reflection.Assembly.Load(Reťazec assemblyString)
v Microsoft.SharePoint.Administration.SPFeatureDefinition.get_ReceiverObject()
WRN: Montáž viazanie zapisovania do denníka je zapnutá OFF.
Povolenie zapisovania do denníka zhromaždenia viazať zlyhanie, nastaviť hodnotu databázy registry [HKLMSoftwareMicrosoftFusion!EnableLog] (DWORD) na 1.
Poznámka: Tam je nejaký výkon trestu priradené zhromaždenia viazať zlyhanie zapisovania.
Ak chcete túto funkciu vypnúť, odstrániť hodnotu databázy registry [HKLMSoftwareMicrosoftFusion!EnableLog].

Riešenie problémov so službou Windows SharePoint Services.

Viem, ako zámerne spôsobiť chyby: Neinštalujte zhromaždenia v GAC. ale, bolo to v GAC. Normálne nainštalovať zostavy do GAC pretiahnutím do c:\windowsassembly zložky pomocou Prieskumníka windows. Nikdy som sa cítil 100% pohodlne robiť to, pretože som vždy myslel, že-gacutil, ktorý existoval dôvod … tak som sa snažil. Jedná sa žiadny rozdiel.

Hľadal internety a našiel tento post: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2243677&SiteID=1

Plagát nestalo používať rovnaký koreň trochu kódexu (z vnútri WSS knihy z tohto zoznamu) tak, aby bol nadějným znamením. Avšak, návrh zdobenie zhromaždenie s [montáž: ] smernica nedávalo zmysel pre mňa. Som skúsil som to a mal som pravdu. Jedná sa žiadny rozdiel.

Potom som si všimol, že moja definícia triedy nebol verejnosti. Som na verejnosť, a že sa žiadny rozdiel.

Ďalšie, Išiel som do problémov umožniť "zhromaždenie viazať zlyhanie log" (po užitočné a presné pokyny poskytnuté) a to je, kde sa veci začali získať zaujímavý. Že log mi ukazuje, že runtime vyhľadávanie všade na tomto serveri pre mojej zostavy. Dokonca zdá, že sa hľadá ju v mojom lekárničky. ale … to nebude hľadať to v GAC.

Dal na mojej Zimné bundy a ísť hľadať internety znova a nájsť, že niekto mal tento problém taky. Zdĺhavý diskusia v tomto vysielaní peters preč do nič a nemôže nájsť riešenie.

Som sa presunúť moje zhromaždenia do jedného z miest log tvrdí, je hľadanie a ja som trochu väčší pokrok. Odmenení nová chyba v prehľadávači, keď sa snažím aktivovať funkciu:

Nepodarilo sa vytvoriť objekt funkcia prijímač zo zostavy "xyzzyFeatureReceiver_0", typ "Conchango.xyzzyFeatureReceiver" pre funkciu b2cb42e3-4f0a-4380-aaba-1ef9cd526f20: System.ArgumentNullException: Hodnota nemôže mať hodnotu null.
Názov parametra: typ
v System.Activator.CreateInstance(Typ, Boolovská neverejné)
v System.Activator.CreateInstance(Typ)
v Microsoft.SharePoint.Administration.SPFeatureDefinition.get_ReceiverObject()

Riešenie problémov so službou Windows SharePoint Services.

Čas na jeden posledný výlet do internety!

Tentoraz sa môžem dozvedieť, ako sa dalo očakávať dosť, MOSS vydáva túto chybu, pretože montáž nie je v GAC.

Chcem sa dostať niečo pozitívne z toho a snažte sa cítiť trochu hrdý, že ste vytvorili Utečenec MSIL zostáv, ale to nie je práca. Som naštvaný, proste. Som sa ocitol mručení "kura alebo vajce" pod mojím dychom.

Nakoniec sa rozhodnúť, aby punt. Môžem vytvoriť úplne nový projekt a kopírovať/vložiť kód z incredible-cloaked-from-the-GAC-assembly nepracujúcich projektu cez tento nový projekt. (Hľadám stavať vlajku s názvom niečo ako "skryť z montáže záväzné ak inštaláciu v GAC" ale nemôžem nájsť jeden).

Nainštalujte túto funkciu a aktivovať a … to funguje! Takže, po tom všetkom, Musel som sa v podstate "reštartovať’ môj projekt. To je ďalší dôvod, prečo neznášam počítačov.

Som sa dozvedel niečo užitočného z tohto. Boli mal inštaláciu funkcií pomocou príkazu stsadm celý deň a boli pomocou "-sila" možnosť zo zvyku. Z nejakého dôvodu, Nechcel použiť možnosť - force keď som nainštaloval nový projekt. tentoraz, Ja som vlastne, naozaj nezabudnite skopírujte tento nový projekt zhromaždenia do GAC. V dôsledku, Dostal som tento FielNotFoundException"" chyba. tentoraz, Dostal som ju od stsadm, nie, keď som sa snažil aktivovať funkciu cez webový prehliadač. Takže, -účinnosť vlastne hrá dve úlohy. To vám umožní opätovne nainštalovať existujúce funkcie. Umožňuje tiež nainštalovať funkciu kočík, ktorá nemôže pracovať v režime runtime potlačením chyba. Pravdepodobne hovorí toľko v Pomocníkovi niekde ale nikdy si všimol, že.

</koniec>

Technorati Tags: ,

3 myšlienky na "Riešenie problému: “FileNotFoundException” S mojej funkcie prijímača.

  1. Francisco

    Tiež, Mal som môjho 2 hodiny Hysterka nintendoSIXTYFOURRRR vo--zlé-way okamihy kedy som premenoval Namespace funkcie prijímača, môžete sledovať, ak vy alebo niekto iný začal.

    Odpoveď
  2. Francisco

    Koreň problému spočíva na nasadené wsp v databáze lokality sharepoint. Čítal som váš príspevok a zároveň ju skutočne problém máme obrovské riešenie s niekoľkými projektmi a desiatky súborov v pohybe tak všetko nebola možnosť.

    Nezáleží na tom, koľko budete aktualizovať vaše GAC alebo vaše zhromaždenie, čo je dáva vám problém je zhromaždenie v aktuálnej WSP nainštalovaná na lokalite sharepoint.

    Si môžete ľahko si všimol, že snaží len zrušiť riešenie (ktorá je, kde sa stane chyba). Všetko deje na "navíjanie čas" bude považovať za "nasadené wsp"-len nie samotný projekt.

    Moje riešenie bolo:

    – Centrálne admin: Zrušiť riešenie
    – stsadm: deletesolution
    – Visual Studio => Projekt => Balík
    – stsadm: addsolution-súbor ProjectbinDebugProject.wsp
    – stsadm: deploysolution-názov project.wsp-okamžité - allowgacdeployment-sila
    – Visual Studio => Nasadenie

    Odstránené tiež zložky bin a debug projektu pred opätovným spustením nasadenie, nemusí mať žiadny vplyv, ale stojí za to komentoval.

    To funguje na oboch

    "Feature … môže byť nainštalovaný, pretože načítanie zostavy príjemcu udalostí"
    a
    "Nepodarilo sa vytvoriť objekt funkcia prijímač zo zostavy"

    vďaka!
    Francisco

    Odpoveď
  3. Tom Clarkson

    Len strávil pár hodín sa snaží opraviť tento rovnaký problém a našiel lepšie riešenie než jednoducho znovuzostavenie projektu.

    To ukázalo, že z nejakého dôvodu Visual Studio stanovila cieľ vybudovať x 86 namiesto x 64 alebo MSIL – zhromaždenie bolo v GAC, len nie rovnaký GAC, 64 trochu SharePoint pozerala.

    Odpoveď

Zanechajte odpovedať na Francisco zrušiť odpoveď

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *