Jekk l-għodda qed tagħmel Jittieħed ma tifhimx u allura jonqos fil-pass n ta 'numru mhux magħruf ta' stadji, int mejta fl-ilma…
</aħħar>
Jekk l-għodda qed tagħmel Jittieħed ma tifhimx u allura jonqos fil-pass n ta 'numru mhux magħruf ta' stadji, int mejta fl-ilma…
</aħħar>
I kien għal darb'oħra opri fajls ADF BDC bl-idejn (so that I can build up my "get off my lawn!" I) u hit dan l-iżball sabiħ:
"Application definition import failed. Il-iżball li ġejjin seħħew:"
Kif tistgħu taraw, hemm żball, iżda … huwa mhux ser tell me dak li huwa.
Fil-każ tiegħi, 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, but failed to update the <LobSystem>’s Type attribute. I switched it to "WebService" and I happily moved on to newer and more exciting import errors, which were handled in due course.
Here is the wrong LobSystem:
<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">
This is correct:
<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">
</aħħar>
UPDATE: Dan MSDN kollokament għandu xi osservazzjonijiet interessanti mill JXJ bbażati fuq tiegħu, prinċipalment negattiv, esperjenzi jmorru f'din id-direzzjoni: 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" qasam.
We often use a lookup column to implements links like this. There are several drawbacks to lookup columns, tlieta minnhom huma:
Appoġġjati minn BDC, 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.
I kellna xi suċċess preliminari ma dan l-approċċ u l-pjan li jiktbu aktar dwar dan.
Jekk inti ħadthom ħadem dan l-angolu qabel u xi kummenti, jekk jogħġbok sehem!
</aħħar>
Stajt ilhom jaħdmu ma BDC llum, coding ADF files by hand and generating myself some errors. One such error:
Definizzjoni applikazzjoni importazzjoni naqset. Il-iżball li ġejjin seħħew: Ma kellekx tagħbija Tip deskritt mill TypeName TypeDescriptor tal. Isem Parametru: Error typeName kienet nqalgħu fil Line jew eżatt qabel: '35’ u Pożizzjoni: ’20’.
MOSS murija dan l-iżball meta I ppruvaw li jimportaw il-fajl XML ADF.
I riċerkati l-internets u sabet li kien I referenzar l-isem istanza LOB (mill- <LobSystemInstance>) fil tiegħi <TypeDescriptor> node meta I għandu jkollhom referenza l-isem LOB innifsu (minn <LobSystem>).
Wrong:
<TypeDescriptor TypeName="Conchango.KeyValue, LOB Isem Istanza" Name="KeyValue">
Ikkoreġi:
<TypeDescriptor TypeName="Conchango.KeyValue, Isem LOB" Name="KeyValue">
Hope dan wieħed jiffranka xi ħadd siegħa jew tnejn ta 'ħin.
</aħħar>
I was working on a feature last week that would add some event receivers to a specific list instance. (I blogged ftit dwar dak riċevitur lista hawn).
Bl-użu kmand tal-linja, I tista 'tinstalla l-karatteristika bl-ebda żball (imma ara hawn taħt għal-iżball moħbija). When I tried to deploy the feature on the site, MOSS complained of a "FileNotFoundException" żball. This blog entry describes how I solved it.
This is the error that MOSS showed me in the web browser:
Feature ‘b2cb42e3-4f0a-4380-aaba-1ef9cd526f20’ could not be installed because the loading of event receiver assembly "xyzzyFeatureReceiver_0" failed: System.IO.FileNotFoundException: Could not load file or assembly ‘xyzzyFeatureReceiver_0’ or one of its dependencies. The system cannot find the file specified.
File name: ‘xyzzyFeatureReceiver_0’
at System.Reflection.Assembly.nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, Assembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection)
at System.Reflection.Assembly.InternalLoad(AssemblyName assemblyRef, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection)
at System.Reflection.Assembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection)
at System.Reflection.Assembly.Load(String assemblyString)
at Microsoft.SharePoint.Administration.SPFeatureDefinition.get_ReceiverObject()
WRN: Assembly binding logging is turned OFF.
To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) li 1.
Innota: There is some performance penalty associated with assembly bind failure logging.
To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].
I know how to deliberately cause that error: don’t install the assembly in the GAC. Iżda, 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% comfortable doing that because I always thought that gacutil existed for a reason … so I tried that. It made no difference.
I searched the Internets and found this post: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2243677&SiteID=1
The poster happened to be using the same root bit of code (from the Inside WSS book from this list) so that was a hopeful sign. Madankollu, the suggestion of decorating the assembly with an [assembly: ] 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.
Li jmiss, I went to the trouble of enabling the "assembly bind failure log" (following the helpful and accurate instructions provided) 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. Iżda … it won’t search for it in the GAC.
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" for feature b2cb42e3-4f0a-4380-aaba-1ef9cd526f20: System.ArgumentNullException: Valur ma jistax ikun null.
Isem Parametru: tip
at System.Activator.CreateInstance(Type type, Boolean nonPublic)
at System.Activator.CreateInstance(Type type)
at Microsoft.SharePoint.Administration.SPFeatureDefinition.get_ReceiverObject()
Time for one last trip to the Internets!
This time I find out, predictably enough, that MOSS issues this error because the assembly is not in GAC.
I want to get something positive out of this and try to feel a little proud that I’ve created the Fugitive of MSIL assemblies, but it’s not working. I’m just plain annoyed. I find myself muttering "chicken or the egg" under my breath.
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" but can’t find one).
I install the feature and activate it and … it works! Allura, after all that, I had to basically ‘reboot’ my project. This is another reason why I hate computers.
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. Għal xi raġuni, I did not use the -force option when I installed the new project. Din id-darba, I did actually, truly forget to copy this new project’s assembly into the GAC. Bħala riżultat, I received that "FielNotFoundException" żball. Din id-darba, I got it from stsadm, not when I tried to activate the feature via the web browser. Allura, -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.
</aħħar>
===
Bonus wife joke:
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, when we finished eating, the waitress came by and asked how we liked our meals. I meant say, ‘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, but instead I screamed at her, ‘You ruined my life!""
</aħħar>
UPDATE (04/08/08): I seem to have solved this problem. From the command line, I ran "c:\twieqi system32 lodctr / R" kif kull dħul jitkellem dwar problemi InstallShield u li jidher li solvuti għalija.
I ndunat li dan l-aħħar, 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 ma tista 'tagħbija extensible UGatherer DLL counter, l-ewwel DWORD fit-taqsima tad-data huwa l-kodiċi żball Windows.
Windows ma tista 'tagħbija extensible UGTHRSVC DLL counter, l-ewwel DWORD fit-taqsima tad-data huwa l-kodiċi żball Windows.
Windows ma tista 'tagħbija MSSCNTRS extensible DLL counter, l-ewwel DWORD fit-taqsima tad-data huwa l-kodiċi żball Windows.
Jekk I drill fid-dettalji ta 'wieħed minn dawk il-messaġġi, I nikseb dan:
Sors: Perflib
Tip: Error
Kategorija: Xejn
Event 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 kienet nagging me dwar jwettqu aġġornament għal żmien pjuttost twil, so I jotted-verżjoni kelli installat (apparently "1.0.1 build 29996") and did the update. This upgraded me to v1.04. Sfortunatament, hija ma tiffissa l-kwistjoni.
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, hekk … not such a great option.
Is-sistema operattiva ospitanti hija Windows XP 64 bit.
I ma naħsibx li dan dejjem ġara, imma jien ma recall kwalunkwe każ partikolari li setgħet wasslet għal dan.
Dan huwa għaliex ddejjaqni kompjuters.
</aħħar>
UPDATE: This works but there are significant limitations which are described in the comments. This may still be useful in some cirumstances.
UPDATE 2: Fil-proġett kurrenti tiegħi, users always upload documents. Bħala riżultat, 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() riċevitur jistenna għal valur validu hemm qabel fil-fatt twettaq il semmi mill-ġdid u minn dakinhar, 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()" metodu. Minflok, nużaw "MoveTo(…)". Here is a minimal bit of code to accomplish this:
pubbliku override null ItemAdded(SPItemEventProperties proprjetajiet) { 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.
Din hija verżjoni aktar utli li ma l-istess ħaġa, but assigns the name of the file to "Title":
pubbliku override null ItemAdded(SPItemEventProperties proprjetajiet) { DisableEventFiring(); // Jassenja l-titolu ta 'din il-partita għall-isem tal-fajl innifsu. // NOTA: Din il-ħidma għandha sseħħ qabel we jimmodifika l-file nnifsu. // Sejħat aġġornament() fuq il-SPFile jidher li tinvalida l-proprjetajiet // xi sens. Updates to "Title" naqset sakemm dik il-bidla (u l-aġġornament() sejħa) // tmexxew quddiem il-bidla għall-isem ta 'fajl. properties.ListItem["Title"] = Properties.ListItem.File.Name; properties.ListItem.Update(); SPFile f = properties.ListItem.File; // Niżżel l-estensjoni tal-fajl. Għandna bżonn li aktar tard. string spfileExt = ġdid File Info(f.Name).Estensjoni; // Semmi mill-ġdid l-fajl lill ID-oġġett lista u jużaw l-estensjoni fajl biex iżommu // li intatta parti minnu. f.MoveTo(properties.ListItem.ParentList.RootFolder.Url + "/" + properties.ListItem["ID"] + spfileExt); // Jimpenjaw il-moviment. f.Update(); EnableEventFiring(); } |
A sħabi, "Mark", has started up a potentially interesting newsgroup discussion focusing on "establishing excellent SharePoint Governance from the start" għal 35,000 ambjent utent.
Id-diskussjoni hija hawnhekk: http://groups.google.com/group/microsoft.public.sharepoint.portalserver/browse_thread/thread/6d9a738d981af772/1c390b15c5407db6?#1c390b15c5407db6
Pop fuq matul u jikkontribwixxu!
</aħħar>
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 (huwa qal kif hu kiteb blog dħul użu ta 'għodda hu ma jifhimx).
Illum, 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, iżda meta I attivat (mingħajr żball) hija sempliċement mhux se juru fuq il-menu drop-down.
I finally realized that I misspelled "SharePoint" fil-attribut Location tal- <CustomAction> node. This is the bad elements.xml file:
<?xml Verżjoni="1.0" encoding="UTF-8" ?> <Elementi xmlns="http://schemas.microsoft.com / Sharepoint /"> <CustomAction Id="SiteActionsToolbar" GroupId="SiteActions" Post="Microsoft.Sharepoint.StandardMenu" Sekwenza="100" Titolu="Hello!" Deskrizzjoni="Azzjoni menu Custom miżjud permezz ta 'karatteristika." ImageUrl="_layouts / stampi / menuprofile.gif"> <UrlAction Url="http://www.xyzzy.com"/> </CustomAction> </Elementi> |
Tajba:
<?xml Verżjoni="1.0" encoding="UTF-8" ?> <Elementi xmlns="http://schemas.microsoft.com / Sharepoint /"> <CustomAction Id="SiteActionsToolBar" GroupId="SiteActions" Post="Microsoft.SharePoint.StandardMenu" Sekwenza="100" Titolu="Hello!" Deskrizzjoni="Azzjoni menu Custom miżjud permezz ta 'karatteristika." > <UrlAction Url="http://www.xyzzy.com"/> </CustomAction> </Elementi> |
That one took me a good two hours to figure out 🙂
I jieħdu solace fil-fatt li xi jum fil-futur, I ser tkun tista 'tgħid mal-kundanna, "back in the day, I kellhom jimxu tliet mili up għoljiet fil-borra (barefoot!) in order to deploy a custom feature to MOSS. You kids, inti ma tkunx taf kif faċli ikollok! Get off my lawn!"
Ma tistax tistenna.
</aħħar>