Ak nástroj je robiť veci vám nerozumie a potom to nedokáže v kroku n neznámy počet krokov, ste mŕtvi vo vode…
</koniec>
Ak nástroj je robiť veci vám nerozumie a potom to nedokáže v kroku n neznámy počet krokov, ste mŕtvi vo vode…
</koniec>
Bola opäť crafting BDC ADF súbory ručne (tak, že môžete vybudovať svoje "Vystúpte môj trávnik!" Cred) a hit tejto krásnej chyba:
"Zlyhal import definície aplikácie. Vyskytla sa nasledujúca chyba:"
Ako môžete vidieť, tam je chyba, ale … nie je to mi povedať, čo to je.
V mojom prípade, problém sa ukázalo, že som mal vyrazil s funkčné ADF pre iný projekt, ktorý pripojené k databáze a popravený SQL dotaz proti zobrazenie. V tomto novom projekte, Som volá metódu na webovej službe. Mal odrátať DB špecifické veci a pridal môj web služby veci, ale nepodarilo sa aktualizovať <Systém LobSystem>je typ atribútu. Som prešiel na "WebService" a som šťastne presunul do novšie a viac vzrušujúce import chyby, ktoré boli riešené včas.
Tu je zlý systém LobSystem:
<Systém LobSystem
xmlns:XSI =http://www.w3.org/ 2001/XMLSchema-stupňa
XSI:schemaLocation =http://schemas.Microsoft.com/Office/2006/03/BusinessDataCatalogBDCMetadata.xsd
Typ = "databáza"
Verzia = "1.0.0.0" Meno = "xyzzy minového"
xmlns ="http://schemas.Microsoft.com/Office/2006/03/BusinessDataCatalog">
To je správne:
<Systém LobSystem
xmlns:XSI =http://www.w3.org/ 2001/XMLSchema-stupňa
XSI:schemaLocation =http://schemas.Microsoft.com/Office/2006/03/BusinessDataCatalogBDCMetadata.xsd
Typ = "WebService"
Verzia = "1.0.0.0" Meno = "xyzzy minového"
xmlns ="http://schemas.Microsoft.com/Office/2006/03/BusinessDataCatalog">
</koniec>
AKTUALIZÁCIA: Toto vysielanie MSDN má niektoré zaujímavé postrehy z JXJ na základe jeho, hlavne negatívne, skúsenosti ísť touto cestou: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2623565&SiteID=1
Máme obchodné scenáre, kde musíme prepojiť dva dokumenty knižnice prostredníctvom spoločnej "identifikácie dokumentu" pole.
Sme často používať vyhľadávací stĺpec implementuje odkazy takhle. Existuje niekoľko nevýhod sa vyhľadávacie stĺpce, tri sú:
Podporené BDC, môžeme použiť "obchodné údaje" Typ stĺpca, a to poskytuje lepšie hľadať spôsoby a dokonca povoľuje viaceré stĺpce údajov sa objaví v zobrazenia zoznamu.
Mal som nejaké predbežné úspech s týmto prístupom a pláne písať viac o tom.
Ak ste pracovali tento uhol pred a žiadne komentáre, Prosím, podeľte sa!
</koniec>
Bol som pracovať s BDC dnes, kódovanie ADF súbory ručne a vytvára sám nejaké chyby. Jedna takáto chyba:
Zlyhal import definície aplikácie. Vyskytla sa nasledujúca chyba: Nebolo možné načítať typ popísaný parametrom TypeName objektu TypeDescriptor. Názov parametra: atribút typeName chyba sa vyskytla na alebo tesne pred riadok: "35’ a postavenie: "20".
MOSS objaví táto chyba pri pokuse o importovanie súboru ADF XML.
Skúmal internety a zistil, že bol som odkazovanie názov inštancie LOB (od <LobSystemInstance>) v mojej <Objekt triedy TypeDescriptor> uzol, keď už mali odkazuje sám názov LOB (z <Systém LobSystem>).
Zle:
<Objekt TypeDescriptor TypeName="Conchango.KeyValue, Názov inštancie LOB" Meno = "KeyValue">
Správne:
<Objekt TypeDescriptor TypeName="Conchango.KeyValue, LOB meno" Meno = "KeyValue">
Dúfam, že ten niekto šetrí hodinu alebo dve časové.
</koniec>
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].
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()
Č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>
===
Bonus žena vtip:
Dvoch mužov co-pracovníkov ísť von na obed. Jeden z nich povie Ostatné, "Môžem uvoľniť trápne freudovské pošmyknutia v noci."
"Freudovské pošmyknutia? čo je to?"
"No, keď sme dojedli, čašníčka prišiel a spýtal sa ako sa nám páčilo naše jedlá. Chcel som povedať, "Miloval som kuracie prsia’ ale namiesto toho som povedal: "Miloval som vaše prsia". Bol som tak v rozpakoch."
"Ah," jeho spolupracovník odpovedal.. "Mal som to isté sa stalo pre mňa tento víkend so svojou ženou. Sme jedli raňajkách som sa chcel opýtať sa jej odovzdať maslo, ale namiesto toho som kričal na ňu, "Ste zničil môj život!’"
</koniec>
AKTUALIZÁCIA (04/08/08): Zdá sa, že mi vyriešiť tento problém. Z príkazového riadka, Bežal som "c:\windowssystem32lodctr/r" ako záznam hovorí o InstallShield problémy a že sa zdá to vyriešil za mňa.
Si všimol, že v poslednej dobe, nikdy vypne moje ploche server‑server fan. Viem, že kedysi vypnúť. Vzal som si chvíľku kontrolovať, to si všimol, že bol spustený VMware proces konzistentné 20% využitie na jednom CPU. Skontrolovať v denníku udalostí a videl tieto chyby v denníku aplikácie deje mnohokrát za minútu:
Systém Windows nemôže načítať DLL UGatherer rozšíriteľných počítadiel, Prvý údaj DWORD v údajovej časti je kód chyby systému Windows.
Systém Windows nemôže načítať DLL UGTHRSVC rozšíriteľných počítadiel, Prvý údaj DWORD v údajovej časti je kód chyby systému Windows.
Systém Windows nemôže načítať počítadlo DLL MSSCNTRS, Prvý údaj DWORD v údajovej časti je kód chyby systému Windows.
Ak som vŕtať do detailov z jednej z týchto správ, Dostanem túto:
Zdroj: Perflib
Typ: Chyba
Kategória: Žiadna
Identifikácia 1023
Urobil som nejaké výskum a tam bol nejaký údaj, mohol byť povolenie problém z hľadiska prístupu k predmetnej dll. Hral asi s veci ale nie ovplyvniť veci pozitívnym spôsobom, tak som sa vzdal na to.
VMware mal neodbytná ma o vykonávaní aktualizáciu pre docela nejaký čas, tak som poznačil verzii mal nainštalovaný (zrejme "1.0.1 build 29996") a aktualizovať. Toto rekonštruované ma v1.04. Bohužiaľ, to ani opraviť problém.
Môžete zastaviť šialený počet správ bude môj denník aplikácie, ak som vypnúť službu s názvom "VMware overovacia služba". To mi bráni pomocou softvéru VMware, Takže … nie je taká skvelá možnosť.
Hostiteľský operačný systém je Windows XP 64 bit.
Nemyslím si, že vždy sa to stalo, ale nespomínam konkrétnej udalosti, ktoré by viedli k nej.
To je dôvod, prečo neznášam počítačov.
</koniec>
AKTUALIZÁCIA: To funguje, ale existujú významné obmedzenia, ktoré sú opísané v poznámkach. To môže byť užitočné v niektorých okolnosti.
AKTUALIZÁCIA 2: V môj súčasný projekt, užívatelia vždy nahrať dokumenty. V dôsledku, Nechcem bežať do problému kde MS Word pracuje a myslí, že súbor bol premenovaný na to. Som naraziť na problém, "súbor bol zmenený iným používateľom" a riešiť to cez jednoduché semafor typu príznak. Používatelia musia zmeniť pole meta data z predvolenú hodnotu niečo iné. Itemupdated() prijímač vyhľadáva platnú hodnotu tam pred rezervujú premenovať a odvtedy, Nie som nemal žiadne problémy. Vaša najazdených kilometrov sa môžu líšiť.
Mám klienta požiadavka na zmenu názvu súbory nahrané do určitej knižnice dokumentov na dodržanie najmä konvencia. API neposkytuje premenovať"()" metóda. Namiesto toho, Používame "MoveTo(…)". Tu je trochu minimálne kódu na dosiahnutie tohto cieľa:
verejné override neplatné ItemAdded(SPItemEventProperties vlastnosti) { Súbor SPFile f = vlastnosti.ListItem.File; f.MoveTo(vlastnosti.ListItem.ParentList.RootFolder.Url + "/xyzzy.doc"); f.Update(); } |
Len záludné bit je "vlastnosti. ListItem.ParentList.RootFolder.Url". MoveTo() metóda vyžaduje adresu URL. Ktoré kaša sa reťazec bodov ma do koreňového priečinka moje súčasné knižnici dokumentov. To mi umožňuje vyhnúť akejkoľvek ťažko kódovanie v môj príjemca udalosti.
Je to oveľa užitočnejšie verziu, ktorá robí to isté, ale priradí názov súboru "Titul":
verejné override neplatné ItemAdded(SPItemEventProperties vlastnosti) { DisableEventFiring(); // Názov tejto položky priradiť názov súboru, samotný. // POZNÁMKA: Toto priradenie sa musí uskutočniť pred upravíme samotný súbor. // Volanie aktualizácie() na SPFile zdá narúšali vlastnosti // niektoré zmysel. Zmenách v hlavy"" zlyhala, kým to zmeniť (a aktualizácia() hovor) // boli premiestnené pred zmenou názvu súboru. vlastnosti.ListItem[„Hlava"] = vlastnosti.ListItem.File.Name; vlastnosti.ListItem.Update(); Súbor SPFile f = vlastnosti.ListItem.File; // Načítať príponu súboru. Potrebujeme, že neskôr. reťazec spfileExt = nové FileInfo(f.name).Rozšírenie; // Premenujte súbor identifikácii položky zoznamu a používajú príponu udržať // časť neporušené. f.MoveTo(vlastnosti.ListItem.ParentList.RootFolder.Url + "/" + vlastnosti.ListItem["ID"] + spfileExt); // Zaviazať prechod. f.Update(); EnableEventFiring(); } |
Kolega, "Mark", začala sa potenciálne zaujímavé diskusné so zameraním na "vytvorenie vynikajúce SharePoint riadenie od začiatku" pre 35,000 používateľské prostredie.
Diskusia je tu: http://groups.google.com/group/microsoft.public.sharepoint.portalserver/browse_thread/thread/6d9a738d981af772/1c390b15c5407db6?#1c390b15c5407db6
Pop na priebehu a prispieť!
</koniec>
Som stále vo zvyku ručné funkcia XML súbory ručne, pretože je to všetko úplne nové pre mňa. Nechcem spoliehať na front-end nástroj robí veci nerozumiem (povedal, keď napísal blog vstupe pomocou nástroja nerozumie).
Dnes, Snažil som sa pridať vlastnú akciu nastavenia lokality, ale to jednoducho nechcel Ukázať. Mohol nainštalovať funkciu a vidieť, že funkcie lokality, ale keď som aktivoval (bez chyby) to jednoducho nebude zobrazovať na drop-down menu.
Nakoniec si uvedomil, že som nesprávne napísané "SharePoint" v atribút umiestnenia <CustomAction> uzol. Je to zlé elements.xml súbor:
<?XML verzia="1.0" kódovanie="UTF-8" ?> <Prvky xmlns="http://schemas.Microsoft.com/SharePoint/"> <CustomAction Identifikácia="SiteActionsToolbar" GroupId="SiteActions" Umiestnenie="Microsoft.Sharepoint.StandardMenu" Postupnosť="100" Hlava="dobrý deň!" Popis="Vlastné menu akcie pridané pomocou funkcie." ImageUrl="_layouts/images/menuprofile.gif"> <UrlAction URL="http://www.xyzzy.com"/> </CustomAction> </Prvky> |
dobrý:
<?XML verzia="1.0" kódovanie="UTF-8" ?> <Prvky xmlns="http://schemas.Microsoft.com/SharePoint/"> <CustomAction Identifikácia="SiteActionsToolBar" GroupId="SiteActions" Umiestnenie="Microsoft.SharePoint.StandardMenu" Postupnosť="100" Hlava="dobrý deň!" Popis="Vlastné menu akcie pridané pomocou funkcie." > <UrlAction URL="http://www.xyzzy.com"/> </CustomAction> </Prvky> |
That one took me a good two hours to figure out 🙂
Beriem útechu v tom, že niektoré deň v budúcnosti, Budete môcť povedať, s presvedčením, "back in the day, Musel som prejsť tri km do kopca v snehu (bos!) aby bolo možné nasadiť vlastné funkcie na MOSS. Si deti, neviete, ako ľahko môžete mať! Vystúpte môj trávnik!"
Nemôžem sa dočkať.
</koniec>