Tresna da zerbait egiten ari bada, ez duzu ulertzen eta, ondoren, huts egiten urratsean n urrats ezezagun zenbaki bat da, hilda duzu uretan…
</amaiera>
Tresna da zerbait egiten ari bada, ez duzu ulertzen eta, ondoren, huts egiten urratsean n urrats ezezagun zenbaki bat da, hilda duzu uretan…
</amaiera>
Berriro ere nintzen BDC ADF fitxategiak crafting eskuz (beraz, eraiki dezaket nire "get off nire Soropil!" Dut) eta hit eder error honetan:
"Application definition import failed. Ondorengo errorea gertatu da:"
Ikusten duzun bezala, Errore bat gertatu da, baina … ez du esan nahi da zein den joan.
Nire kasuan, the issue turned out that I had started off with a functional ADF for a different project that connected to a database and executed a SQL query against a view. In this new project, I am calling a method on a web service. I had stripped out the DB specific stuff and added my web service stuff, baina huts egin eguneratzeko <LobSystem>’s Type attribute. I switched it to "WebService" mugitu eta zorionez I berriago eta gehiago zirraragarria inportazio akatsak, ziren ikastaro ondorioz maneiatzen.
Hemen okerreko LobSystem da:
<LobSystem
xmlns:xsi =http://www.w3.org/2001/XMLSchema-instance
xsi:schemaLocation =http://schemas.microsoft.com/office/2006/03/BusinessDataCatalogBDCMetadata.xsd
Type="Database"
Version="1.0.0.0" Name="xyzzy"
xmlns="http://schemas.microsoft.com/office/2006/03/BusinessDataCatalog">
Inprimatu zuzena:
<LobSystem
xmlns:xsi =http://www.w3.org/2001/XMLSchema-instance
xsi:schemaLocation =http://schemas.microsoft.com/office/2006/03/BusinessDataCatalogBDCMetadata.xsd
Type="WebService"
Version="1.0.0.0" Name="xyzzy"
xmlns="http://schemas.microsoft.com/office/2006/03/BusinessDataCatalog">
</amaiera>
UPDATE: MSDN hau posting ditu JXJ batetik behaketa interesgarri bere oinarritutako batzuk, batez ere ezezko, esperientziak jaisten den bide honetan: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2623565&SiteID=1
We have a business scenario where we need to link two documents libraries via a common "document ID" Eremu.
We often use a lookup column to implements links like this. There are several drawbacks to lookup columns, diren hiru:
BDC babesten, we can use a "business data" column type and it provides a superior search and even allows multiple columns of data to appear in list views.
Izan dut planteamendu honen arrakasta aurretiko batzuk planifikatu eta horri buruz gehiago idatzi;.
Duzun lan egin bada, angelu honen aurretik eta iruzkinak edozein, mesedez share!
</amaiera>
Izan dut, gaur egun lan egiten BDC, coding ADF files by hand and generating myself some errors. One such error:
Aplikazioaren definizioa inportazio huts egin du. Ondorengo errorea gertatu da: Ezin izan da kargatu Mota TypeDescriptor en TYPENAME deskribatzen. Parametro izena: TYPENAME akats edo aurretik Line aurkitu da: '35’ eta posizioa: ’20’.
MOSS bistaratu errore hau denean ADF XML fitxategia inportatu saiatu naiz.
Internets ikertu dut, eta hori izan zen aurkitu nuen LOB instantzia izena erreferentzia (batetik <LobSystemInstance>) Nire <TypeDescriptor> nodo denean izan aipatzen nuen behar da LOB izena bera (tik <LobSystem>).
Oker:
<TypeDescriptor TypeName="Conchango.KeyValue, LOB Auzialdiko izena" Name="KeyValue">
Zuzentzeko:
<TypeDescriptor TypeName="Conchango.KeyValue, LOB izena" Name="KeyValue">
Espero hau norbaitek ordu bat edo bi, denbora aurrezten.
</amaiera>
I was working on a feature last week that would add some event receivers to a specific list instance. (Pixka bat Blogetakoak I hartzailea zerrenda hori hemen).
Komando-lerroa erabiliz, Ezaugarri instalatu izan dut error gabe (baina ikusi beherago ezkutuko akats). When I tried to deploy the feature on the site, MOSS complained of a "FileNotFoundException" error. This blog entry describes how I solved it.
Hau errorea MOSS erakutsi zidan web nabigatzailea da:
Feature ‘b2cb42e3-4f0a-4380-aaba-1ef9cd526f20’ could not be installed because the loading of event receiver assembly "xyzzyFeatureReceiver_0" huts egin du: System.IO.FileNotFoundException: Could not load file or assembly ‘xyzzyFeatureReceiver_0’ edo bere mendekotasunen bat. Sistema ezin du fitxategia aurkitu zehaztutako.
File name: ‘xyzzyFeatureReceiver_0’
at System.Reflection.Assembly.nLoad(AssemblyName fitxategi-izena, Katea iturburua, Evidence assemblySecurity, Batzar locationHint, StackCrawlMark& stackMark, Boolearrak throwOnFileNotFound, Boolearrak forIntrospection)
at System.Reflection.Assembly.InternalLoad(AssemblyName assemblyRef, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolearrak forIntrospection)
at System.Reflection.Assembly.InternalLoad(Katea assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolearrak forIntrospection)
at System.Reflection.Assembly.Load(Katea assemblyString)
at Microsoft.SharePoint.Administration.SPFeatureDefinition.get_ReceiverObject()
WRN: Batzar loteslea dena itzalita dago.
Muntaia bind porrota egunkarian gaitzeko, ezarri erregistro-balioa [HKLM Software Microsoft Fusión!EnableLog] (DWORD) to 1.
Kontuan izan: Badira muntaia bind porrota egunkarian lotutako errendimendu penalti batzuk.
Eginbide hori desaktibatzeko, kendu erregistroko balioa [HKLM Software Microsoft Fusión!EnableLog].
Nola nahita eragin error jakin dut: don’t install the assembly in the GAC. Baina, it was in the GAC. I normally install assemblies into the GAC by dragging them into the c:\windows\assembly folder using windows explorer. I’ve never felt 100% erosoa eta beti pentsatu izan dut delako gacutil duten arrazoi bat existitu egiten dela … so I tried that. It made no difference.
Internets bilatu nintzen eta post hau topatu: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2243677&SiteID=1
Egilearen gertatu daiteke erabili kodea erro bera bit (du zerrenda honetan Inside WSS-liburu) so that was a hopeful sign. Hala eta guztiz ere, Batzar apaintzen duen gomendioa batekin [muntaia: ] directive didn’t make sense to me. I tried it anyway and I was right. It made no difference.
Then I noticed that my class definition was not public. I made it public and that made no difference.
Hurrengoa, I went to the trouble of enabling the "assembly bind failure log" (betiere, lagungarria eta zehatza jarraibideak) and this is where things started to get interesting. That log shows me that the runtime is searching everywhere on that server for my assembly. It even appears to be searching for it in my medicine cabinet. Baina … ezin izango da bilatzeko GAC en.
I put on my winter jacket and go searching the Internets again and find that someone has had this problem too. The lengthy discussion in that posting peters off into nothing and I can’t find a solution.
I move my assembly into one of the places the log claims it’s searching and I make a little more progress. I’m rewarded with a new error in the browser when I try to activate the feature:
Failed to create feature receiver object from assembly "xyzzyFeatureReceiver_0", type "Conchango.xyzzyFeatureReceiver" Ezaugarri for b2cb42e3-4f0a-4380-aaba-1ef9cd526f20: System.ArgumentNullException: Balioa ezin da hutsik egon.
Parametro izena: mota
at System.Activator.CreateInstance(Mota mota, Boolearrak nonPublic)
at System.Activator.CreateInstance(Mota mota)
at Microsoft.SharePoint.Administration.SPFeatureDefinition.get_ReceiverObject()
Bata Internets azken bidaia egiteko denbora!
Denbora honetan jakin dut, aurrez nahikoa, that MOSS issues this error because the assembly is not in GAC.
Zerbait honen out positiboa lortzeko eta saiatu apur bat harro ditudan sortu sentitu nahi dut MSIL muntaietan Iheslarien, but it’s not working. I’m just plain annoyed. I find myself muttering "chicken or the egg" nire arnasa pean.
I finally decide to punt. I create an entirely new project and copy/paste the code from the incredible-cloaked-from-the-GAC-assembly non-working project over to this new project. (I look for a build flag called something like "hide from assembly binding if installed in the GAC" baina ezin da aurkitu).
Eginbidea instalatu eta gaitu eta … Funtzionamendua! Beraz,, hori guztia egin ondoren, I had to basically ‘reboot’ my project. Honetan beste arrazoi bat zergatik ordenagailuak gorroto dut.
I did learn something useful from this. I had been installing features using the stsadm command line all day long and been using the "-force" option out of habit. For some reason, I did not use the -force option when I installed the new project. Oraingo honetan, Egia esan, ez nuen, truly forget to copy this new project’s assembly into the GAC. Baten ondorioz, I received that "FielNotFoundException" error. Oraingo honetan, Lortu dut stsadm tik, not when I tried to activate the feature via the web browser. Beraz,, -force actually plays two roles. It allows you to re-install an existing feature. It also allows you to install a buggy feature that cannot work at runtime by suppressing the error. It probably says as much in the help somewhere but I never noticed it.
</amaiera>
===
Bonus emaztea txantxa:
Two male co-workers go out to lunch. One of them tells the other, "I let loose an embarrassing Freudian slip the other night."
"A Freudian slip? What’s that?"
"Well, denean jaten amaitu dugu, zerbitzari etorri zen eta galdetu nola gure bazkariak gustuko dugu. Esan, esan nahi dut, ‘I loved the chicken breast’ but instead I said ‘I loved your breasts’. I was so embarrassed."
"Ah," his co-worker replied. "I had the same thing happen to me this weekend with my wife. We were eating breakfast I meant to ask her to pass the butter, baizik eta garrasika bere at I, ‘You ruined my life!'"
</amaiera>
UPDATE (04/08/08): I seem to have solved this problem. From the command line, I ran "c:\Windows system32 lodctr / R" Sarrera bat InstallShield arazoei buruz hitz bakoitzeko, eta hori gisa agertzen konpondu izan da niretzat.
Nabaritu dut azkenaldian duten, my desktop/server fan never turns off. I know it used to turn off. I took a moment to check it out noticed that the a VMware process was running a consistent 20% utilization on one of the CPU’s. I checked the event log and saw these errors in the application log happening dozens of times per minute:
Windows ezin kargatu hedagarria counter DLL UGatherer, datuak atalean DWORD lehen Windows errore kodea da.
Windows ezin kargatu hedagarria counter DLL UGTHRSVC, datuak atalean DWORD lehen Windows errore kodea da.
Windows ezin kargatu hedagarria counter DLL MSSCNTRS, datuak atalean DWORD lehen Windows errore kodea da.
Mezu horiek bat xehetasunak sartu nintzen zulatzeko bada, Esan nahi dut:
Iturria: Perflib
Mota: Errorea
Kategoria: Bat ere ez
Gertaera ID 1023
I did some research and there was some indication it could be a permission problem in terms of access to the DLLs in question. I played around with that stuff but could not affect things in a positive way so I gave up on that.
VMware izan dira niretzat nagging denbora luzez eguneraketa bat egitean buruz, beraz, behera jotted I bertsioa instalatu nuen (apparently "1.0.1 build 29996") and did the update. This upgraded me to v1.04. Tamalez, ez da konpondu alea.
I can stop the insane number of messages going to my application log if I shut down a service named "VMware Authorization Service". This prevents me from using the VMware software, beraz, … not such a great option.
Ostalariaren sistema eragilea Windows XP da 64 bit.
Ez dut uste hori beti gertatu, baina ez dut gogoratzen inongo gertaera hori da izana ekarri.
Hori dela eta, ordenagailuak gorroto dut.
</amaiera>
UPDATE: This works but there are significant limitations which are described in the comments. This may still be useful in some cirumstances.
UPDATE 2: Nire proiektua uneko, users always upload documents. Baten ondorioz, I don’t run into a problem where MS Word is running and thinks that the file was renamed on it. I did run into a problem, "the file was modified by someone else" and solved this via a simple semaphore type flag. Users need to change a meta data field from its default value to something else. The itemupdated() hartzailea da baliozko balioa bilatzen ez benetan rename egin aurretik, eta orduz geroztik, I have not had any problems. Your mileage may vary.
I have a client requirement to change the name of files uploaded to a specific document library to conform with a particular naming convention. The API does not provide a "rename()" metodoa. Horren ordez, erabili behar dugun "MoveTo(…)". Here is a minimal bit of code to accomplish this:
publikoak baliogabetzeko gal ItemAdded(SPItemEventProperties propietate) { SPFile f = properties.ListItem.File; f.MoveTo(properties.ListItem.ParentList.RootFolder.Url + "/xyzzy.doc"); f.Update(); } |
The only tricky bit is the "properties.ListItem.ParentList.RootFolder.Url". The MoveTo() method requires a URL. That mashed up string points me to the root folder of my current document library. This allows me to avoid any hard coding in my event receiver.
Hau gehiago erabilgarria bertsio gauza bera egiten da, but assigns the name of the file to "Title":
publikoak baliogabetzeko gal ItemAdded(SPItemEventProperties propietate) { DisableEventFiring(); // Esleitu Elementu honen izenburua, fitxategi beraren izena. // OHARRA: Esleipen hau egin behar dugu aldatzeko fitxategi beraren aurretik. // Eguneratzea deituz() SPFile buruzko badirudi propietate baliogabetu ahal izateko // Zentzu batzuk. Updates to "Title" aldaketa huts egin arte (eta eguneratzea() deitu) // ziren aldaketaren aurrean mugitu fitxategi-izenaren. properties.ListItem["Title"] = Properties.ListItem.File.Name; properties.ListItem.Update(); SPFile f = properties.ListItem.File; // Talde fitxategi luzapena. Hori behar dugu, geroago. katea spfileExt = berria FileInfo(f.Name).Luzapena; // Aldatu fitxategiaren zerrenda-elementua ID-eta fitxategi-luzapena erabili eta mantentzeko // dela zati oso-osorik. f.MoveTo(properties.ListItem.ParentList.RootFolder.Url + "/" + properties.ListItem["ID"] + spfileExt); // Entregatu mugimendua. f.Update(); EnableEventFiring(); } |
Ikaskide batek, "Mark", has started up a potentially interesting newsgroup discussion focusing on "establishing excellent SharePoint Governance from the start" baten 35,000 Erabiltzaile ingurumena.
Eztabaida da hemen: http://groups.google.com/group/microsoft.public.sharepoint.portalserver/browse_thread/thread/6d9a738d981af772/1c390b15c5407db6?#1c390b15c5407db6
Baino pop eta laguntzea!
</amaiera>
I’m still in the habit of crafting my feature XML files by hand since it’s all quite new to me. I don’t want to rely on a front-end tool that does stuff I don’t understand (idatzi zuen blog-sarrera gisa, tresna bat da, ez du ulertzen erabiliz, esan zuen).
Gaur egun, I was trying to add a custom action to the site settings but it just wouldn’t show up. I could install the feature and see it in the site features, baina aktibatzen dut (error gabe) litzateke, besterik gabe, ez da agertuko goitibeherako menuan.
I finally realized that I misspelled "SharePoint" duen atributua Kokapena en <CustomAction> nodo. This is the bad elements.xml file:
<?xml bertsioa="1.0" kodeketa="utf-8" ?> <Elementuak xmlns="http://schemas.microsoft.com / SharePoint /"> <CustomAction Id="SiteActionsToolbar" Groupid="SiteActions" Kokapena="Microsoft.Sharepoint.StandardMenu" Sekuentzia="100" Izenburua="Kaixo!" Deskribapena="Menu pertsonalizatuak ekintza ezaugarri baten bidez gehitu." ImageUrl="_layouts / irudi / menuprofile.gif"> <UrlAction Url="http://www.xyzzy.com"/> </CustomAction> </Elementuak> |
Good:
<?xml bertsioa="1.0" kodeketa="utf-8" ?> <Elementuak xmlns="http://schemas.microsoft.com / SharePoint /"> <CustomAction Id="SiteActionsToolBar" Groupid="SiteActions" Kokapena="Microsoft.SharePoint.StandardMenu" Sekuentzia="100" Izenburua="Kaixo!" Deskribapena="Menu pertsonalizatuak ekintza ezaugarri baten bidez gehitu." > <UrlAction Url="http://www.xyzzy.com"/> </CustomAction> </Elementuak> |
That one took me a good two hours to figure out 🙂
Kontsolamendu hartu dut, izan ere, dela egun batzuk etorkizunean, Egin ahal izango dute uste osoa esan dut, "back in the day, Hiru mila oinez muinoan gora elurra izan nuen (oinutsik!) in order to deploy a custom feature to MOSS. You kids, ez dakizu nola erraza izango duzu! Get off my lawn!"
Ezin da itxaron.
</amaiera>