אם הכלי עושה דברים שאינך מבין ולאחר מכן הוא נכשל ב שלב n מספר לא ידוע של השלבים, אתה מת בתוך המים…
</קצה>
אם הכלי עושה דברים שאינך מבין ולאחר מכן הוא נכשל ב שלב n מספר לא ידוע של השלבים, אתה מת בתוך המים…
</קצה>
אני שוב היה קוצו קבצים BDC מזין מסמכים אוטומטי באופן ידני (כך ניתן לבנות שלי "עופו מהדשא שלי!" קרד) והכה שגיאה זו מקסימה:
"יישום ההגדרה שהייבוא נכשל. אירעה השגיאה הבאה:"
כפי שניתן לראות, קיימת שגיאה, אבל … זה לא הולך לספר לי מה זה.
במקרה שלי, הנושא התברר כי היה. התחלתי עם ADF פונקציונלי לפרויקט שונה מחובר למסד נתונים, ביצוע בשאילתת SQL מול נוף. לפרוייקט חדש, אני מתקשר לפעולת שירות אינטרנט. היה לי הוסרו החומר הספציפי DB, הוסיף את הדברים שירות האינטרנט שלי, . אבל לא הצליח לעדכן <LobSystem>של תכונה type. שיניתי את זה כדי "WebService" באושר עברתי שגיאות ייבוא חדשה יותר, מרגש יותר, אשר שטופלו בבוא הזמן.
. הנה LobSystem הלא נכון:
<LobSystem
xmlns:xsi =http://www.w3.org/ 2001/סכימת Xml-מופע
xsi:schemaLocation =http://schemas.microsoft.com/office/2006/03/BusinessDataCatalogBDCMetadata.xsd
סוג = "מסד נתונים"
גירסה = "1.0.0.0" שם = "xyzzy ב"
xmlns ="http://schemas.microsoft.com/office/2006/03/BusinessDataCatalog">
. זה נכון:
<LobSystem
xmlns:xsi =http://www.w3.org/ 2001/סכימת Xml-מופע
xsi:schemaLocation =http://schemas.microsoft.com/office/2006/03/BusinessDataCatalogBDCMetadata.xsd
סוג = "WebService"
גירסה = "1.0.0.0" שם = "xyzzy ב"
xmlns ="http://schemas.microsoft.com/office/2006/03/BusinessDataCatalog">
</קצה>
עדכון: זה פרסום MSDN יש כמה תצפיות מעניינות מן JXJ בהתבסס על שלו, בעיקר שלילי, חוויות לרדת על נתיב זה: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2623565&SiteID=1
יש לנו תרחישים עסקיים בהם אנו זקוקים לקשר שני מסמכים בספריות דרך נפוצה "מזהה מסמך" שדה.
אנו מרבים להשתמש עמודת בדיקת מידע לקישורים סככה כזאת. ישנם מספר חסרונות על עמודות בדיקת מידע, שלושה מהם:
מגובה על ידי BDC, אנחנו יכולים להשתמש נתונים עסקיים "" סוג עמודה וזה מספק חיפוש מעולה, ואף מאפשר מספר עמודות של נתונים יופיעו תצוגות רשימה.
היתה קצת הצלחה ראשונית עם גישה זו, ואני מתכננת לכתוב על זה עוד.
אם אתה עובד זווית זו לפני ויש לך הערות כלשהן, בבקשה לשתף!
</קצה>
אני עובד עם BDC היום, קידוד קבצים ב- ADF בעבודת יד ותפיק את עצמי כמה שגיאות. שגיאה אחת כזו:
ייבוא הגדרת היישום נכשלה. אירעה השגיאה הבאה: לא היתה אפשרות לטעון את הסוג המתואר על-ידי TypeName של TypeDescriptor. שם פרמטר: typeName שגיאה אירעה ב או ממש לפני קו: ' 35’ ומיקום: "20".
מוס מוצגת שגיאה זו כאשר ניסיתי לייבא את קובץ ה-XML ב- ADF.
למצות את חקר ומצא כי לא שם המופע LOB (מ <LobSystemInstance>) בבית שלי <TypeDescriptor> צומת כאשר צריך להפנות אליו את שם LOB עצמו (מ <LobSystem>).
הלא נכון:
<TypeDescriptor TypeName="Conchango.KeyValue, שם מופע LOB" שם = "KeyValue">
לתקן:
<TypeDescriptor TypeName="Conchango.KeyValue, LOB שם" שם = "KeyValue">
מקווה שזה חוסך מישהו שעה או שעתיים של זמן.
</קצה>
עבדתי על תכונה בשבוע שעבר היה מוסיף כמה מקלטים האירוע מופע ספציפי ברשימה. (אני blogged קצת את המקלט הרשימה כאן).
באמצעות שורת הפקודה, אני יכול להתקין את התכונה עם הודעת שגיאה (אך ראה להלן השגיאה מוסתרים). כאשר ניסיתי לפרוס את התכונה באתר, מוס התלוננו על FileNotFoundException"" שגיאה. את הבלוג מתאר איך פתרתי את זה.
זו השגיאה מוס הראה לי בדפדפן אינטרנט:
התכונה ' b2cb42e3-4f0a-4380-אודי לוין-1ef9cd526f20’ שלא הייתה אפשרות להתקין כי הטעינה של אירוע מקלט הרכבה "xyzzyFeatureReceiver_0" נכשל: System.IO.FileNotFoundException: אין אפשרות לטעון קובץ או הרכבה ' xyzzyFeatureReceiver_0’ או אחת מהתלויות שלו. אין למערכת אפשרות למצוא את הקובץ שצוין.
שם קובץ: ' xyzzyFeatureReceiver_0’
ב- System.Reflection.Assembly.nLoad(שם קובץ AssemblyName, מחרוזת בסיס קוד, AssemblySecurity הראיות, הרכבה locationHint, StackCrawlMark& stackMark, ThrowOnFileNotFound בוליאנית, ForIntrospection בוליאנית)
ב- System.Reflection.Assembly.InternalLoad(AssemblyName assemblyRef, AssemblySecurity הראיות, StackCrawlMark& stackMark, ForIntrospection בוליאנית)
ב- System.Reflection.Assembly.InternalLoad(מחרוזת assemblyString, AssemblySecurity הראיות, StackCrawlMark& stackMark, ForIntrospection בוליאנית)
ב- System.Reflection.Assembly.Load(מחרוזת assemblyString)
ב- Microsoft.SharePoint.Administration.SPFeatureDefinition.get_ReceiverObject()
WRN: רישום איגוד הרכבה פעילה OFF.
כדי לאפשר רישום כשל איגוד הרכבה, הגדר את ערך הרישום [HKLMSoftwareMicrosoftFusion!EnableLog] (DWORD) כדי 1.
הערה: יש איזה עונש הביצועים המשויכים רישום כשל איגוד הרכבה.
כדי לבטל תכונה זו, הסר את ערך הרישום [HKLMSoftwareMicrosoftFusion!EnableLog].
אני יודע כיצד בכוונה לגרום לשגיאה הזאת: לא התקנת ההרכבה ב- GAC. אבל, זה היה ב- GAC. אני בדרך כלל התקן הרכבות GAC על ידי גרירתם לתוך הארובות:\windowsassembly תיקיה באמצעות סייר windows. אף פעם לא הרגשתי 100% נוח לעשות את זה. כי תמיד חשבתי ש-gacutil זה קיים מסיבה מסוימת … אז ניסיתי את זה. זה לא משנה.
חיפשתי את Internets ומצאתי פוסט זה: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2243677&SiteID=1
הפוסטר קרה משתמש הסיבית שורש באותו קוד (מתוך הספר בתוך WSS מרשימה זו) אז זה היה סימן. עם זאת, הצעתו של לקשט את מכלול עם [הרכבה: ] הוראה לא הגיוני בשבילי. ניסיתי את זה בכל מקרה. ואני צדקתי. זה לא משנה.
ואז הבחנתי כי הגדרת מחלקה שלי איננה ציבורית. אני הכנתי את זה הציבור וזה גרם אין הבדל.
הבא, אני ניגש לשולחן של הפיכת "מכלול bind כשל ביומן" (בעקבות ההוראות מדויקות ומסייע מסופקים) כאן הדברים התחיל להיות מעניין. יומן הרישום מראה לי כי זמן הריצה הוא חיפוש בכל מקום בשרת זה להרכבה שלי. הוא אפילו מופיע כדי לחפש אותו בארון תרופות. אבל … זה לא לחפש אותם ב- GAC.
. תלבש את הז'קט החורף שלי ו ללכת לחפש את Internets שוב, למצוא. מישהו אכל את הבעיה גם. הדיון הממושך הזה רישום פיטרס לתוך כלום ואני לא מוצא פתרון.
אני עובר באחד המקומות שהיומן טוען זה מחפש להתקדם עוד קצת את הרכבה. אני מתוגמל שגיאת חדש בדפדפן כאשר אני מנסה להפעיל את תכונת:
יצירת האובייקט המקבל תכונה מהרכבה "xyzzyFeatureReceiver_0" נכשלה, הקלד "Conchango.xyzzyFeatureReceiver" עבור תכונה b2cb42e3-4f0a-4380-aaba-1ef9cd526f20: System.ArgumentNullException: ערך אינו יכול להיות null.
שם פרמטר: סוג
ב- System.Activator.CreateInstance(סוג, NonPublic בוליאנית)
ב- System.Activator.CreateInstance(סוג)
ב- Microsoft.SharePoint.Administration.SPFeatureDefinition.get_ReceiverObject()
זמן לעוד נסיעה אחת אחרונה האינטרנט במלואו!
הפעם אני אגלה, כצפוי מספיק, מוס בעיות שגיאה זו, כי מכלול זה לא ב- GAC.
אני רוצה לקנות משהו חיובי מזה ולנסות להרגיש קצת גאה שאני יצרתי נמלט מכלולים MSIL, . אבל זה לא עובד. . אני פשוט כועס. אני מוצא את עצמי ממלמל "הביצה או התרנגולת" תחת נשימתי.
סוף סוף החלטתי פונט. ליצור פרוייקט חדש לגמרי, ואני העתק/הדבק הקוד מהפרוייקט שאינו עבודה incredible-cloaked-from-the-GAC-assembly על הפרוייקט החדש הזה. (אני מחפש דגל לבנות סינדרום "הסתר מהרכבה מחייב אם מותקן ב- GAC" אבל לא יכול למצוא אחד).
התקנת התכונה ולהפעיל אותו, … זה עובד! כל כך, אחרי כל זה, נאלצתי בעיקרון ' אתחול מחדש’ הפרוייקט שלי. זוהי סיבה נוספת למה אני שונא מחשבים.
. למדתי משהו מועיל מזה. אני היה מתקין תכונות באמצעות שורת הפקודה stsadm כל היום כבר בשימוש "-כוח" אפשרות מתוך הרגל. מסיבה כלשהי, לא השתמשתי בכוח האפשרות - כאשר התקנתי את הפרוייקט החדש. הפעם, עשיתי למעשה, באמת לשכוח להעתיק ההרכבה של הפרוייקט החדש הזה לתוך GAC. כתוצאה מכך, קיבלתי את FielNotFoundException"" שגיאה. הפעם, קיבלתי אותה stsadm, לא כאשר ניסיתי להפעיל את תכונת באמצעות דפדפן האינטרנט. כל כך, -כוח למעשה ממלא שני תפקידים. זה מאפשר לך להתקין מחדש את תכונה הקיימת. זה גם מאפשר לך להתקין תכונה מרכבה זה לא יכול לעבוד בזמן ריצה על-ידי דיכוי השגיאה. זה כנראה אומר באותה מידה ב עזרה איפשהו אבל שלא הבחנתי בה.
</קצה>
===
בונוס אשתו בדיחה:
שני עמיתים זכר לצאת לצהריים. אחד מהם אומר השני, "אני שחרר פרוידיאנית מביך באותו לילה."
"פליטת פה פרוידיאנית? מה זה?"
". טוב-, כשסיימנו לאכול, המלצרית בא ושאל איך אהבנו את הארוחות שלנו. . התכוונתי לומר, "אהבתי את חזה עוף’ אבל במקום זה אני אמרתי 'אהבתי את החזה שלך'. . הייתי כל כך נבוכה."
"אה," השיב עמית שלו. "היה לי אותו דבר קרה לי השבוע עם אשתי. אנחנו אכלנו ארוחת בוקר. התכוונתי להציע לה לעבור את החמאה, אבל במקום זה, אני צעקתי עליה, ' אתה הרסת את חיי!’"
</קצה>
עדכון (04/08/08): נראה שאני פותר בעיה זו. מתוך שורת הפקודה, רצתי "c:\windowssystem32lodctr /R" לפי ערך מדבר על InstallShield בעיות וזה נראה פתרה אותה לי.
יש שמתי לב לאחרונה, לעולם אינו מכבה את מאוורר שולחני/שרת. אני יודע שהוא אמור לבטל את. לקחתי רגע לבדוק אותו שמתי לב לזה תהליך VMware רץ עקבית 20% ניצול באחד של ה-CPU. בדקתי את יומן האירועים וראיתי את השגיאות האלו ביומן היישומים קורה עשרות פעמים בדקה:
ל- Windows אין אפשרות לטעון מונה להרחבה DLL UGatherer, ערך DWORD הראשון בסעיף הנתונים הם קוד השגיאה Windows.
ל- Windows אין אפשרות לטעון מונה להרחבה DLL UGTHRSVC, ערך DWORD הראשון בסעיף הנתונים הם קוד השגיאה Windows.
ל- Windows אין אפשרות לטעון MSSCNTRS ה-DLL של המונה הניתן להרחבה, ערך DWORD הראשון בסעיף הנתונים הם קוד השגיאה Windows.
אם אני קודח לתוך הפרטים של אחת מהודעות אלה, אני מבין זה:
מקור: Perflib
סוג: שגיאה
קטגוריה: אף אחד
מזהה אירוע 1023
עשיתי קצת מחקר. והיה לסימן כלשהו. זה יכול להיות בעיה הרשאה במונחים של גישה אל ה-Dll המדובר. שיחק עם החומר הזה סביב, אבל יכול לא משפיעים באופן חיובי אז ויתרתי על זה.
VMware היה כבר מציקה לי על ביצוע עדכון די הרבה זמן, אז רשמתי את הגירסה היה מותקן (ככל הנראה "1.0.1 לבנות 29996") . ועשיתי את העדכון. זה לשדרג לי v 1.04. למרבה הצער, זה לא תיקנו את הבעיה.
אני יכול לעצור את מספר ההודעות הולך ביומן היישומים שלי אם אני מפסיקה שירות בשם "VMware אישור שירות" מטורף. זה מונע בעדי. שימוש בתוכנה VMware, אז … לא כזה אופציה נהדרת.
מערכת ההפעלה המארחת היא Windows XP 64 סיבית.
אני לא חושב. זה תמיד קרה, אבל אני לא זוכר אירוע מסוים ייתכן הובילו אותו.
בגלל זה אני שונא מחשבים.
</קצה>
עדכון: זה עובד אבל יש מגבלות משמעותיות שיפורטו על דבריו. זה עדיין יכול להיות שימושי ב כמה כפויה.
עדכון 2: בפרוייקט הנוכחי שלי, משתמשים תמיד להעלות מסמכים. כתוצאה מכך, אני לא רץ לתוך בעיה בו MS-Word פועל וחושב כי הקובץ שונה שם על זה. נתקלתי בעיה, "הקובץ השתנה על-ידי מישהו אחר" פתרת את זה באמצעות דגל סוג פשוט סמפור. משתמשים צריכים לשנות שדה נתונים meta מערך ברירת המחדל שלה למשהו אחר. Itemupdated() מקלט נראה עבור ערך חוקי לפני למעשה ביצוע שינוי מאז, לא הייתה לי שום בעיות. המילים שלך עשוי להשתנות.
יש לי דרישה של הלקוח כדי לשנות את השם של הקבצים המועלים לספריית מסמכים ספציפיים כדי להתאים עם מוסכמה מסוימת. ה-API אינו מספק שינוי שם"()" שיטה. במקום זאת, אנו משתמשים "'Moveto '(…)". . הנה קצת מינימלי של קוד כדי להשיג את זה:
הציבור עקיפה void ItemAdded(SPItemEventProperties מאפיינים) { SPFile f = נכסים.ListItem.File; f.MoveTo(מאפיינים.ListItem.ParentList.RootFolder.Url + "/xyzzy.doc"); f.Update(); } |
והחוצה היא "המאפיינים. ListItem.ParentList.RootFolder.Url". ' Moveto '() השיטה דורשת כתובת URL. זה פירה מחרוזת נקודות אותי אל תיקיית הבסיס של ספריית המסמך הנוכחי שלי. זה מאפשר לי להימנע כל קידוד קשיח בתוך השפופרת האירוע שלי.
זוהי גרסה יותר שימושי זה עושה את אותו הדבר, אבל מקצה את השם של הקובץ "Title":
הציבור עקיפה void ItemAdded(SPItemEventProperties מאפיינים) { DisableEventFiring(); // להקצות את הכותרת של פריט זה השם של הקובץ עצמו. // הערה: הקצאה זו חייב להתבצע לפני לנו לשנות את הקובץ עצמו. // מתקשר עדכון() על SPFile נראה לפסול את המאפיינים // קצת הגיון. עדכונים "כותרת" נכשל עד זה ישתנה (עדכון() שיחה) // לפני השינוי הועברו על שם הקובץ. מאפיינים.פריט הרשימה["כותרת"] = נכסים.ListItem.File.Name; מאפיינים.ListItem.Update(); SPFile f = נכסים.ListItem.File; // מקבל את הסיומת של הקובץ. אנחנו צריכים את זה מאוחר יותר. מחרוזת spfileExt = חדש FileInfo(f.Name).סיומת; // שנה את שם הקובץ של פריט הרשימה מזהה ולהשתמש בסיומת הקובץ לשמור // את החלק הזה ללא פגע. f.MoveTo(מאפיינים.ListItem.ParentList.RootFolder.Url + "/" + מאפיינים.פריט הרשימה["מזהה"] + spfileExt); // לבצע את המהלך. f.Update(); EnableEventFiring(); } |
בחור, 'סמן', יש שהחל דיון קבוצות דיון מעניין להיות התמקדות "יצירת מעולה SharePoint ממשל מן ההתחלה" עבור 35,000 סביבת משתמש.
אוכלוסייה: על פני לתרום!
</קצה>
אני עדיין ההרגל קוצו שלי קבצי XML תכונה בעבודת יד, שכן הוא כל זה די חדש לי. . אני לא רוצה להסתמך על כלי חזיתי את זה שאני לא (הוא אמר כתב בבלוג באמצעות כלי שהוא לא).
היום, ניסיתי להוסיף פעולה מותאמת אישית ' הגדרות אתר ', אבל הוא לא יופיע. אני יכול להתקין את התכונה ולראות אותו תכונות האתר, אבל כאשר הפעלתי את זה (ללא שגיאה) הוא לא. פשוט יופיע בתפריט הנפתח.
לבסוף הבנתי כי טעות באיות "SharePoint" בתכונת המיקום של <CustomAction> צומת. זהו הקובץ elements.xml רע:
<?xml גירסה="1.0" קידוד="utf-8" ?> <רכיבים xmlns="http://schemas.microsoft.com/sharepoint/"> <CustomAction מזהה="SiteActionsToolbar" GroupId="SiteActions" מיקום="Microsoft.Sharepoint.StandardMenu" רצף="100" כותרת="שלום!" תיאור="תפריט מותאם אישית פעולה נוסף באמצעות תכונה." ImageUrl="_layouts/images/menuprofile.gif"> <UrlAction כתובת Url="http://www.xyzzy.com"/> </CustomAction> </רכיבים> |
טוב:
<?xml גירסה="1.0" קידוד="utf-8" ?> <רכיבים xmlns="http://schemas.microsoft.com/sharepoint/"> <CustomAction מזהה="SiteActionsToolBar" GroupId="SiteActions" מיקום="Microsoft.SharePoint.StandardMenu" רצף="100" כותרת="שלום!" תיאור="תפריט מותאם אישית פעולה נוסף באמצעות תכונה." > <UrlAction כתובת Url="http://www.xyzzy.com"/> </CustomAction> </רכיבים> |
That one took me a good two hours to figure out 🙂
אני מתנחם בעובדה כי מתישהו בעתיד, אני אוכל להגיד שזה יהיה משכנע, "בימים ההם, הייתי צריך ללכת חמישה ק מ במעלה הגבעה בשלג (יחף!) כדי לפרוס את תכונה מותאמת אישית מוס. . ילדים, אתה לא יודע כמה קל יש לך את זה! עופו מהדשא שלי!"
לא יכול לחכות.
</קצה>