Olin työskennellyt ominaisuus viime viikolla, joka lisää tapahtuman vastaanottajat tietyn luettelon esiintymä. (Olen blogged hieman siitä että luettelon vastaanotin).
Komentorivin avulla, Voi asentaa ominaisuuden ilman virheitä (mutta alla piilevä virhe). Kun yritin asentaa sivuston ominaisuus, MOSS valitti "FileNotFoundException" Virhe. Tämän blogimerkinnän kuvataan, miten ratkaista se.
Tämä on virhe, että MOSS näytti web-selaimessa:
Ominaisuus "b2cb42e3 4f0a 4380 Pekka 1ef9cd526f20’ ei voi asentaa, koska Tapahtumavastaanottimen kokoonpanon "xyzzyFeatureReceiver_0 lastaus" epäonnistui: System.IO.FileNotFoundException: Ei voi ladata tiedostoa tai kokoonpanoa "xyzzyFeatureReceiver_0’ tai jotakin sen riippuvuutta. Järjestelmä ei löydä määritettyä tiedostoa.
Tiedostonimi: "xyzzyFeatureReceiver_0’
klo System.Reflection.Assembly.nLoad(AssemblyName tiedostonimi, Merkkijono codeBase, Näyttö assemblySecurity, Kokoonpanon locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection)
klo System.Reflection.Assembly.InternalLoad(AssemblyName assemblyRef, Näyttö assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection)
klo System.Reflection.Assembly.InternalLoad(Merkkijono assemblyString, Näyttö assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection)
klo System.Reflection.Assembly.Load(Merkkijono assemblyString)
klo Microsoft.SharePoint.Administration.SPFeatureDefinition.get_ReceiverObject()
VAROITUS: Kokoonpanon sidonnan kirjaus on kytketty pois päältä.
Jotta kokoonpanon sidontavirheiden kirjaaminen, määritettävä rekisteriarvo [HKLMSoftwareMicrosoftFusion]!EnableLog] (DWORD) - 1.
Huomautus: On joitakin suorituskyvyn rangaistus liittyvät kokoonpanon sidontavirheiden kirjaaminen.
Voit poistaa tämän toiminnon käytöstä, Poista rekisteriarvo [HKLMSoftwareMicrosoftFusion]!EnableLog].
Osaa tietoisesti aiheuttaa tämän virheen: Älä asenna kokoonpano GAC-säilössä. Mutta, se oli GAC-säilössä. Olen yleensä asennetaan kokoonpanot GAC vetämällä niitä c:\windowsassembly kansio Resurssienhallinnassa. En ole koskaan tuntenut 100% mukava tehdä, että koska olen aina ajatellut, että gacutil on olemassa syy … niin olen yrittänyt sitä. Se ei ollut eroa.
Olen etsinyt Internets ja perustaa nyt kuluva asettaa: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2243677&SiteID=1
Juliste on tapahtunut käyttämään samaa juuri vähän koodia (Sisällä WSS kirja tästä luettelosta) joten se oli lupaava merkki. Kuitenkin, koristelu kokoonpano, jonka ehdotus [kokoonpano: ] direktiivissä ei ole mitään järkeä minulle. Yritin kuitenkin ja olin oikeassa. Se ei ollut eroa.
Sitten huomasin, että minun Luokkamääritystä ei julkinen. Tein sen julkisesti ja että ei ollut eroa.
Seuraava, Menin vaivaa mahdollistaa "kokoonpano sitoa epäonnistuminen log" (hyvä ja tarkka ohjeiden mukaisesti) ja tämä on kun asiat alkoivat saada mielenkiintoisia. Että loki näyttää minulle runtime tutkiva kaikkialla minun kokoonpanon palvelimella. Se jopa näyttää hakee se minun Lääkekaappi. Mutta … se ei etsi se GAC.
Laittaa minun talvitakki ja mennä hakee Internets uudelleen ja löytää, että joku on ollut tämä ongelma liian. Pitkät keskustelut että lähettämistä on peters pois mitään ja en löydä ratkaisua.
I siirtyä yksi niistä paikoista, loki väittää, se etsii ja hieman edistyä minun kokoonpano. Olen palkitaan uusi virhe selaimessa, kun yritän aktivoida erikoisartikkeli:
Objektia ei voitu luoda ominaisuus vastaanotin kokoonpano "xyzzyFeatureReceiver_0", Kirjoita "Conchango.xyzzyFeatureReceiver" ominaisuus b2cb42e3-4f0a-4380-aaba-1ef9cd526f20 varten: System.ArgumentNullException: Arvo ei voi olla null.
Parametrin nimi: tyyppi
klo System.Activator.CreateInstance(Tyyppi tyyppi, Boolen julkistamatonta tärkeää tietoa)
klo System.Activator.CreateInstance(Tyyppi tyyppi)
klo Microsoft.SharePoint.Administration.SPFeatureDefinition.get_ReceiverObject()
Yksi viimeinen matka Internets aika!
Tällä kertaa saan selville, kuten saattaa odottaa, MOSS antaa tämän virheen, koska kokoonpanoa ei löydy yleisestä Kokoonpanovälimuistista.
Haluan jotain positiivista tästä ja yrittää olla hieman ylpeä, että olen luonut Karannut MSIL kokoonpanot, mutta se ei toimi. Olen pelkkää vihainen. Huomaan mutisten "muna vai kana" Under my hengenvetoon.
Olen vihdoin päättää punt. Voin luoda kokonaan uusi hanke ja kopioi/liitä koodi incredible-cloaked-from-the-GAC-assembly työelämän hankkeen aikana uuden hankkeen. (Odotan rakentaa lipun nimeltään jotain "Piilota kokoonpanon sidonnan GAC asennettu" mutta voi löytää).
Asentaa ja aktivoida se ja … se toimii! Niin, Loppujen lopuksi, että, Jouduin periaatteessa "uudestisyntynyt’ minun hanke. Tämä on toinen syy, miksi vihaan tietokoneita.
Minä opin jotain hyötyä tästä. Olisi asentanut ominaisuuksia komentoriviltä stsadm koko päivän ja kohteleva "-pakottaa" vaihtoehto tavan. Jostain syystä, En käytä-force vaihtoehtoa, kun olen asentanut uuden projektin. Tällä kertaa, Tein todella, todella unohtaa kopioida tämän uuden projektin kokoonpano GAC. Tämän seurauksena, Sain "FielNotFoundException" Virhe. Tällä kertaa, Sain sen stsadm, ei kun yritin ottaa ominaisuuden web-selaimella. Niin, -Force itse kahdessa roolissa. Sen avulla voit asentaa uudelleen olemassa ominaisuus. Voit myös asentaa buginen ominaisuus, joka voi toimia suorituksen tukahduttamalla virhe. Se luultavasti sanoo niin paljon ohjeen jossain mutta en ole koskaan huomannut.
</loppu>
Myös, Minulla oli minun 2 tuntia hysteric nintendoSIXTYFOURRRR-in-a-bad-way hetkiä kun olen nimeksi Namespace toiminnon vastaanottaja, jonka avulla voit seurata missä sinun tai kenenkään muun alkoi.
Ongelman ydin on sharepoint-tietokannan käyttöön wsp. Luin viestisi ja vaikka se todellakin korjata ongelma meillä on valtava ratkaisu useita projekteja ja kymmeniä tiedostoja niin liikkuvia kaikki ei ollut vaihtoehto.
Ei väliä kuinka paljon voit päivittää sinun GAC tai edustajakokouksenne, juuri se antaa sinulle ongelmia on nykyinen WSP asennettu sharepoint kokoonpano.
Olet helposti huomannut, että yrittää vain poistaa ratkaisun käytöstä (joka tapahtuu virhe). Kaikki tapahtuu ajallaan"mittaamisesta" olisi pidettävä "käyttöön wsp"-paitsi itse hankkeen.
Minun kiertää oli:
– Keskitetyn hallinnan: Peruuta ratkaisu
– stsadm: deletesolution
– Visual Studio => Project => Paketti
– stsadm: addsolution-tiedoston ProjectbinDebugProject.wsp
– stsadm: deploysolution-nimi project.wsp-välittömästi - allowgacdeployment-pakottaa
– Visual Studio => Ottaa käyttöön
Olen myös poistanut bin ja debug-kansiot projektista ennen kuin suoritat Ota käyttöön uudelleen, ei ehkä ole mitään vaikutusta, mutta kummallista.
Tämä toimii sekä
"Erikoisartikkeli … ei voi asentaa, koska Tapahtumavastaanottimen kokoonpanon lataaminen"
ja
"Objektia ei voitu luoda ominaisuus vastaanotin kokoonpano"
Kiitos!
Francisco
Juuri viettänyt pari tuntia yrittää korjata saman asian ja löytyi parempi ratkaisu kuin yksinkertaisesti uudestaan hankkeen.
Kävi ilmi, että jostain syystä Visual Studio aikoi rakentaa tavoite x 86 x 64 tai MSIL sijasta – assembly on GAC-säilössä, vain ole sama GAC että 64 vähän SharePoint etsimässä.