Alət stuff edir Əgər başa düşmürəm və o, addım n addımlar naməlum sayda uğursuz, Əgər su ölü istəyirik…
</son>
Alət stuff edir Əgər başa düşmürəm və o, addım n addımlar naməlum sayda uğursuz, Əgər su ölü istəyirik…
</son>
Mən bir daha əl ilə BDC ADF faylları crafting edilib (Mən qurmaq edə bilərsiniz, belə ki, mənim "mənim çim qurtarmaq!" Mən) və bu sevimli səhv edib:
"Application definition import failed. Aşağıdakı səhv baş verdi:"
Gördüyünüz kimi, bir səhv var, lakin … bu nə mənə izah edəcəyik deyil.
Mənə gəldikdə isə, 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, lakin güncellenemedi <LobSystem>’s Type attribute. I switched it to "WebService" və mən məsud yeni və çox maraqlı idxal səhvlər köçürülüb, olan gelince baxılırdı.
Burada yanlış LobSystem edir:
<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">
Bu doğru:
<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">
</son>
UPDATE: Poçt Bu MSDN onun əsasında JXJ bəzi maraqlı müşahidələr var, əsasən mənfi, təcrübə bu yolu enən: 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" sahə.
We often use a lookup column to implements links like this. There are several drawbacks to lookup columns, olan üç:
BDC dəstək, biz "biznes məlumatları istifadə edə bilərsiniz" column type and it provides a superior search and even allows multiple columns of data to appear in list views.
I’ve had some preliminary success with this approach and plan to write more about it.
If you’ve worked this angle before and have any comments, please share!
</son>
Mən BDC gün çalışıyorduk, coding ADF files by hand and generating myself some errors. One such error:
Application definition idxal uğursuz. Aşağıdakı səhv baş verdi: TypeDescriptor nin TypeName təsvir tip yüklenemedi. Parametre adı: typeName Error Line və ya əvvəl karşılaşıldı: '35’ və mövqeyi: ’20’.
Mən ADF XML faylı idxal çalıştığımızda MOSS bu səhv göstərilir.
Mən Internets tədqiq və mən LOB instansiya adı istinad edilmişdir ki, (olan <LobSystemInstance>) mənim <TypeDescriptor> Mən LOB adını özü müraciət olmalıdır zaman node (dən <LobSystem>).
Yanlış:
<TypeDescriptor TypeName="Conchango.KeyValue, LOB instansiya adı" Name="KeyValue">
Correct:
<TypeDescriptor TypeName="Conchango.KeyValue, LOB adı" Name="KeyValue">
Bu bir kimsə bir saat və ya zaman iki saxlayır Ümid.
</son>
I was working on a feature last week that would add some event receivers to a specific list instance. (Mən burada bu siyahıya alıcı haqqında bir az blogged).
Command line istifadə, Mən heç bir səhv ilə xüsusiyyət quraşdıra bilərdik (ancaq gizli səhv üçün aşağıya baxın). When I tried to deploy the feature on the site, MOSS complained of a "FileNotFoundException" səhv. 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’ onun bağımlılıkları və ya bir. The system cannot find the file specified.
File name: ‘xyzzyFeatureReceiver_0’
at System.Reflection.Assembly.nLoad(Fayl AssemblyName, Simli codeBase, Sübut assemblySecurity, Assambleya locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection)
at System.Reflection.Assembly.InternalLoad(AssemblyName assemblyRef, Sübut assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection)
at System.Reflection.Assembly.InternalLoad(String assemblyString, Sübut 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) üçün 1.
Qeyd: 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. Lakin, 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% Mən həmişə gacutil səbəbdən mövcud düşündüm, çünki rahat bunu … so I tried that. It made no difference.
Mən Internets axtarış və bu post tapılmadı: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2243677&SiteID=1
Plakat kodu eyni kökdən bit istifadə oldu (Bu siyahıda olan Inside WSS kitabından) so that was a hopeful sign. Lakin, bir ilə bəzəyən toplaşmaq təklifi [yığma: ] 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.
Sonrakı, 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. Lakin … 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: Dəyər null ola bilməz.
Parametre adı: növü
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! Belə, 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. Nədənsə, I did not use the -force option when I installed the new project. Bu dəfə, I did actually, truly forget to copy this new project’s assembly into the GAC. Nəticəsində, I received that "FielNotFoundException" səhv. Bu dəfə, Mən stsadm onu əldə, not when I tried to activate the feature via the web browser. Belə, -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.
</son>
===
Bonus həyat yoldaşı zarafat:
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, biz yemək başa zaman, ki, xörəkpaylayan ilə gəldi və biz yemək xoşuma gəldi necə istədi. Mən deyirəm nəzərdə, ‘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, əvəzində mən ona qışqıraraq, ‘You ruined my life!""
</son>
UPDATE (04/08/08): I seem to have solved this problem. From the command line, I ran "c:\windows system32 lodctr / R" InstallShield problemlər haqqında söhbət giriş başına ki, mənim üçün həll görünür.
Hesab edirəm ki, son vaxtlar hiss, 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 genişlənən counter DLL UGatherer yük bilməz, data Bölmə ilk DWORD Windows hata kodu edir.
Windows genişlənən counter DLL UGTHRSVC yük bilməz, data Bölmə ilk DWORD Windows hata kodu edir.
Windows genişlənən counter DLL MSSCNTRS yük bilməz, data Bölmə ilk DWORD Windows hata kodu edir.
Mən o mesaj bir detallarını daxil qazmaq edin, Mən bu almaq:
Mənbə: Perflib
Növü: Səhv
Kateqoriya: Yox
Olay 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 çox bir müddət üçün bir güncelleştirme yerinə mənə sürtüşkən edilmişdir, mən yüklü idi versiyası aşağı jotted (apparently "1.0.1 build 29996") and did the update. This upgraded me to v1.04. Qubarlı, bu məsələ düzeltmek etməyib.
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, belə … not such a great option.
Ev sahibi əməliyyat sistemi Windows XP edir 64 parça.
Mən bu həmişə baş düşünmürəm, ancaq səbəb ola bilər ki, hər hansı bir hadisə yada yoxdur.
Mən kompüter nifrət Buna görə.
</son>
UPDATE: This works but there are significant limitations which are described in the comments. This may still be useful in some cirumstances.
UPDATE 2: Mənim cari layihə, users always upload documents. Nəticəsində, 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() alıcı əslində adını dəyişmək həyata əvvəl və o vaxtdan bəri orada düzgün değer axtarır, 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()" üsul. Əvəzində, Biz istifadə "MoveTo(…)". Here is a minimal bit of code to accomplish this:
ictimai alıqlamaq ləğv ItemAdded(SPItemEventProperties xassələri) { 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.
Bu, eyni şey ki, daha faydalı versiyası, but assigns the name of the file to "Title":
ictimai alıqlamaq ləğv ItemAdded(SPItemEventProperties xassələri) { DisableEventFiring(); // Fayl özü adı ilə bu bəndin adı Təyin. // QEYD: Biz fayl özü dəyişdirmək əvvəl təyin yer almalıdır. // Yeniləmə Calling() ki, SPFile üzrə xüsusiyyətlərini etibarsız görünür // müəyyən mənada. Updates to "Title" dəyişiklik qədər uğursuz (və yeniləmə() çağırmaq) // fayl adı dəyişikliyin qarşısında köçürülüb. properties.ListItem["Title"] = Properties.ListItem.File.Name; properties.ListItem.Update(); SPFile f = properties.ListItem.File; // Fayl uzadılması alın. Biz sonra ehtiyac. sim spfileExt = yeni Fayl haqqında məlumat(f.Name).Artırma; // Siyahısı maddənin ID fayl adını dəyişmək və saxlamaq üçün fayl uzantısı istifadə // vuruşa onun bir hissəsi. f.MoveTo(properties.ListItem.ParentList.RootFolder.Url + "/" + properties.ListItem["ID"] + spfileExt); // Hərəkət törətmək. f.Update(); EnableEventFiring(); } |
A fellow, "Mark", has started up a potentially interesting newsgroup discussion focusing on "establishing excellent SharePoint Governance from the start" bir müddət 35,000 istifadəçi mühit.
Müzakirə burada: http://groups.google.com/group/microsoft.public.sharepoint.portalserver/browse_thread/thread/6d9a738d981af772/1c390b15c5407db6?#1c390b15c5407db6
Üzərində pop və yardım!
</son>
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 (o dərk etmir bir alət istifadə edərək, blog giriş yazdığı dedi).
Bugün, 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, ancaq aktiv zaman (səhv olmadan) sadəcə açılan menyu göstərilir deyil.
I finally realized that I misspelled "SharePoint" Bu Yer özniteliğinde <CustomAction> node. This is the bad elements.xml file:
<?xml variant="1.0" encoding="utf-8" ?> <Elements xmlns="http://schemas.microsoft.com / SharePoint /"> <CustomAction Id="SiteActionsToolbar" GroupId="SiteActions" Location="Microsoft.Sharepoint.StandardMenu" Ardıcıllıq="100" Title="Salam!" Təsvir="Xüsusi menyu hərəkət xüsusiyyət vasitəsilə əlavə." ImageUrl="_layouts / images / menuprofile.gif"> <UrlAction Url="http://www.xyzzy.com"/> </CustomAction> </Elements> |
Yaxşı:
<?xml variant="1.0" encoding="utf-8" ?> <Elements xmlns="http://schemas.microsoft.com / SharePoint /"> <CustomAction Id="SiteActionsToolBar" GroupId="SiteActions" Location="Microsoft.SharePoint.StandardMenu" Ardıcıllıq="100" Title="Salam!" Təsvir="Xüsusi menyu hərəkət xüsusiyyət vasitəsilə əlavə." > <UrlAction Url="http://www.xyzzy.com"/> </CustomAction> </Elements> |
That one took me a good two hours to figure out 🙂
Mən gələcəkdə bir gün ondan teselli almaq, Mən məhkum demək edə bilərsiniz, "back in the day, Mən qar təpəyə üç mil gəzmək idi (ayaqyalın!) in order to deploy a custom feature to MOSS. You kids, siz nə qədər asan bilmirəm! Get off my lawn!"
Gözləyin bilməz.
</son>