месечни архиви: Януари 2008

Ето защо аз не като си използвайки инструменти ден нула

http://groups.google.com/group/microsoft.public.sharepoint.portalserver.development/browse_thread/thread/41e8cbe4f15e8b4c/76506ea401403e35?#76506ea401403e35

Ако инструментът прави неща Вие не разбирате и след това тя се провали при стъпка n на неизвестен брой стъпки, Вие сте мъртъв във водата…

</край>

Technorati тагове:

Решение на КБД ADF внос недостатъчност: “Възникна следната грешка:”

Отново е изработване BDC ADF файлове на ръка (така че могат да изградят ми "Махни се от моравата ми!" CRED) и удари тази прекрасна грешка:

Изображение

"Приложение дефиниция неуспешно импортиране. Възникна следната грешка:"

Както можете да видите, там е грешка, Но … Тя е няма да ми кажете какво е.

В моя случай, проблема се оказа, че бях тръгнал на разстояние с функционални ADF за различен проект, свързан с база данни и изпълнява SQL заявка срещу изглед. В този нов проект, Аз призовавам метод на уеб услуга. Имах жилки на DB конкретни неща и добавя моя уеб услуга неща, но не успя да актуализира <LobSystem>на тип на атрибут. Аз шибалка то към "уеб услугата" и аз щастливо се премести към по-нови и по-вълнуващи внос грешки, които са били обработени в своевременно.

Тук е грешен LobSystem:

<LobSystem
xmlns:XSi =HTTP://www.w3.org/2001/XMLSchema-instance
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/XMLSchema-instance
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">

</край>

Technorati тагове:

BDC изглежда жизнена заместител за заявки

АКТУАЛИЗИРАНЕ: Този MSDN постинг има някои интересни наблюдения от JXJ, въз основа на неговата, предимно отрицателни, опит става по този път: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2623565&SiteID=1

Ние имаме бизнес сценарий, където трябва да свърже две библиотеки с документи чрез обща "ИД на документ" поле.

Ние често се използва справочна колона в сечива връзки като това. Има няколко недостатъци на колони за справки, три от които са:

  1. Само една колона от справка справка библиотеката могат да бъдат свързани.
  2. Производителност: Библиотека източник може да съдържа стотици записи. Това е твърде много записи в справката.
  3. Търсене: Там е не интегрирано търсене. Не искам да кажа в Мос смисъл на търсене, но няма начин за търсене / Филтриране по няколко колони от библиотеката на изходния документ и Намерете връзката, която искате.

Подкрепена от BDC, Ние можем да използваме "бизнес данни" тип колона и тя осигурява високо търсене и дори позволява няколко колони с данни, за да се появи в списъка изгледи.

Аз съм имал някои предварителни успех с този подход и намерение да пиша повече за това.

Ако сте работили този ъгъл преди и има някакви коментари, Моля, Споделете!

</край>

Technorati тагове:

Решение за КБД грешка при импортиране: “Не може да зареди тип, описан от TypeDescriptor на TypeName …”

Аз бях работа с BDC днес, ADF файлове за кодиране на ръка и генериране на себе си някои грешки. Една такава грешка:

Неуспешно импортиране на дефиниция на приложението. Възникна следната грешка: Не може да зареди тип, описан от TypeDescriptor на TypeName. Име на параметър: typeName грешка възникна в или точно преди линия: "35’ и позиция: "20".

Мос показва тази грешка, когато аз се опитах да импортиране на ADF XML файл.

Аз проучени Internets и е установено, че бях съотнасяне името на екземпляр на LOB (от <LobSystemInstance>) в моя <TypeDescriptor> възел, когато трябва да са посочени името на LOB, самата (от <LobSystem>).

Грешен:

<TypeDescriptor TypeName="Conchango.KeyValue, Име на екземпляр на LOB" Име = "KeyValue">

Коригиране на:

<TypeDescriptor TypeName="Conchango.KeyValue, Име на LOB" Име = "KeyValue">

Надежда този един спасявам някой, един час или два от време.

</край>

Абонирайте се за моя блог!

Technorati тагове:

Разтвор на проблем: “FileNotFoundException” С моя функцията приемник.

Аз работех по функция миналата седмица, която ще добави някои събитие получател към екземпляр на конкретен списък. (Аз blogged малко за този списък приемника тук).

С помощта на командния ред, Мога да инсталирате компонента с грешка (но вижте по-долу за скрит грешка). Когато се опитах да разположи функцията на сайта, МОС се оплакват от FileNotFoundException"" грешка. Този блог пост описва как аз решавам то.

Това е грешка, която МОС ми показа в web браузъра:

Функцията "b2cb42e3-4f0a-4380-aaba-1ef9cd526f20’ не може да се инсталира, защото на товаренето на монтаж на приемници на събития "xyzzyFeatureReceiver_0" Неуспешно: System.IO.FileNotFoundException: Не може да зареди файл или сглобяване "xyzzyFeatureReceiver_0’ или един от нейните колонии. Системата не може да намери указания файл.
Име на файл: "xyzzyFeatureReceiver_0’
в System.Reflection.Assembly.nLoad(Име на AssemblyName, CodeBase на низ, Доказателства 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.
За да разрешите на регистриране на отказ за събрание bind, Задайте стойност на системния регистър [HKLMSoftwareMicrosoftFusion!EnableLog] (DWORD) за да 1.
Бележка: Има някои производителността санкция, свързани със сглобяване bind грешка регистриране.
За да изключите тази функция, премахване на стойността в системния регистър [HKLMSoftwareMicrosoftFusion!EnableLog].

Отстраняване на проблеми с Windows SharePoint Services.

Аз знам как да причиняват съзнателно тази грешка: не инсталирайте събрание в GAC. Но, Тя е в GAC. Обикновено инсталирате възли в GAC плъзгайки ги в c:\windowsassembly папка, като използвате windows explorer. Никога не съм се чувствал 100% удобни го направи, защото винаги мислех, че gacutil съществувал по причина … така че аз се опитах това. Го прави никаква разлика.

Аз търсили Internets и намери този пост: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2243677&SiteID=1

Плаката се случи да използва същия корен бит на код (от вътрешната WSS книга от този списък) така че е надежда знак. Въпреки това, предложение на decorating общото събрание със [събрание: ] Директива не правят смисъл за мен. Аз все пак съм опитвал и бях прав. Го прави никаква разлика.

След това забелязах, че моята дефиниция на клас не е публично. Аз го публично и че прави никаква разлика.

Следващ, Отидох да съдейства "събрание bind неизправност регистър на" (след полезен и точни инструкции предоставена) и това е, когато нещата започнаха да се получи интересно. Че вляза ми показва, че runtime е търсене навсякъде на този сървър за моя монтаж. Тя дори изглежда да се търси за нея в моя кабинет лекарство. Но … той няма да го потърсите в GAC.

Сложи на моите зимно яке и отидете търсене Internets отново и откриете, че някой е имал този проблем също. Продължителни дискусии в това публикуване Питърс разстояние в нищо и не мога да намеря решение.

Аз движа ми събрание в едно от местата, log твърди е търсене и направя малко по-голям напредък. Съм възнаградени с нова грешка в браузъра, когато се опитате да активирате функцията:

Не можа да създаде обект за приемник на функцията от събрание "xyzzyFeatureReceiver_0", Въведете "Conchango.xyzzyFeatureReceiver" за функцията b2cb42e3-4f0a-4380-aaba-1ef9cd526f20: System.ArgumentNullException: Стойността не може да бъде нулев.
Име на параметър: тип
в System.Activator.CreateInstance(Тип тип, Булева nonPublic)
в System.Activator.CreateInstance(Тип тип)
в Microsoft.SharePoint.Administration.SPFeatureDefinition.get_ReceiverObject()

Отстраняване на проблеми с Windows SharePoint Services.

Време за един последен пътуване до Internets!

Този път разберете, достатъчно предсказуемо, че Мос издава тази грешка, защото общото събрание не е в GAC.

Искам да получи нещо положителни извън това и се опитайте да се чувства малко горд, че съм създаден Fugitive MSIL възли, но това не е работа. Аз съм само обикновен безпокоя. Да намеря себе си мърмори "кокошката или яйцето" под моето дъх.

Най-накрая реши да шута. Създам един изцяло нов проект и Копирайте кода от проекта за incredible-cloaked-from-the-GAC-assembly не работят над към този нов проект. (Аз гледам за билд флаг, наречени нещо като "Скрий от събрание, задължителни, ако инсталирани в GAC" но не може да намери една).

I инсталирате компонента и да го активирате и … тя работи! Така, след всичко това, Аз трябваше да основно "рестартиране’ Моят проект. Това е още една причина, защо мразя компютри.

Аз научих нещо полезно от това. Са слагали функции, които използват stsadm заповядвам линия през целия ден и използвали "-сила" опция от вредния навик. По някаква причина, Не използвайте опцията - force когато Инсталирах новия проект. Този път, Направих действително, наистина забравяме да копирате този нов проект събрание в GAC. Като резултат, Получих че "FielNotFoundException" грешка. Този път, Имам го от stsadm, не и когато се опитах да активирате функцията чрез web браузър. Така, -сила всъщност играе две роли. Тя ви позволява да инсталирате отново съществуваща функция. Той също така ви позволява да инсталирате бъги функция, която не може да работи по време на изпълнение чрез потискане грешка. То вероятно казва колкото в помощта някъде, но аз никога не го е забелязал.

</край>

Неделя забавни: Нагоре 10 Начини за търпение жена си

  1. Купи броколи, когато знаете, че вече има повече от достатъчно в хладилника.
  2. Отидете за тичам. Разхладете се. Свали чиста калъфка и замени с тениска. Покрива се с чиста калъфка.
  3. При шофиране, Попитайте, ако ние трябва да върви по грешен начин определяне на еднопосочна улица.
  4. За 15 години, всяка неделя тази жена предлага отива в музея, Експресно изненада, че музеите са отворени в неделя.
  5. За 15 години, Понякога внушавам съществуващ към местния книжарница в неделя. Експресно изненада, че те не са отворени в неделя (Благодаря много Синьо закони!).
  6. Употреба 20 точки да се направи 3 точка завой.
  7. На хладен ранен следобед попадат, влизам в стаята и въртя на / c. Се оплакват, че е студено. Когато жена казва:, "тогава защо включите това, глупаво" и става да го изключите, Вземете топло място, тя е на дивана. Бонус точки, ако тя не осъзнаваш ли го направиха много по-късно.
  8. Отвори кутията на вкусни бял тон албакор и го ядат направо от кутията, в леглото, Нощем.
  9. Отиде в кухнята, докато жена яде вечеря, отвори чекмеджето за прибори и бута съдове до жена крещи, "какво търсите!"
  10. При получаване на нов визитни картички, тайно ги поставете около къщата: Под леглото, в калъфки, вътре чаши за кафе, в чантата си, в джобовете на палтото, кола жабката, килера — навсякъде можете да мислите за.
  11. Пишете блог записи за вашата съпруга.
  12. Събуди се.
  13. При ходене по улиците на Ню Йорк Сити, да бъде нащрек за "кора" обекти на земята. Като се има предвид специално страховете на жена си, протегна сякаш за да изберете един нагоре и да поиска, "Хм, Аз се чудя какво е?" (Бъдете готови за жена тялото ви шлем, сякаш тя е таен агент защита на президента от снайперист или вие ще се окажете полагане на гърба си на тротоара).
  14. Карам два пъти около паркинг търси пространство. Знаете, че сте наистина хит на печалба при сина си в задната седалка вика, "О не! Той го прави отново!"
  15. Напишете "Топ 10" списъци, които не са 10 елементи.

===

Бонус жена шега:

Двама мъже колеги да излезем на обяд. Един от тях казва на другите, "Аз пускам неудобно неволна грешка онази вечер."

"Неволна грешка? Какво е това?"

"Добре, когато сме готови да яде, Сервитьорката дойде и попита как ние хареса нашата храна. Исках да кажа, "Обичах пилешки гърди’ но вместо това каза: "Обичах гърдите си". Бях толкова неудобно."

"Ах," неговият колега отговори. "Имах същото нещо се случи с мен този уикенд с жена ми. Ние бяхме яде закуска, исках да я помоля да премине на маслото, но вместо това извиках към нея, "Ти съсипа живота ми!’"

</край>

Technorati тагове:

Събитие ID 1023: “Windows не може да зареди разтегателен брояч DLL MSSCNTRS”

АКТУАЛИЗИРАНЕ (04/08/08): Аз изглеждам към имам решавам този проблема. От командния ред, Аз p.t. от Run "c:\windowssystem32lodctr/r" Според запис говори за InstallShield проблеми и това изглежда да са го решават за мен.

Сте забелязали, че напоследък, никога не ми плот/сървър фен се изключва. Знам, че той използва за да изключите. Взех малко време да се провери го забелязах, че VMware процес е действал в съответствие 20% използване на един от на Процесора. Проверка на събитията и видях тези грешки в регистрационния файл на приложението, случва десетки пъти в минута:

Windows не може да зареди разтегателен брояч DLL UGatherer, Първият DWORD в секцията данни е кода за грешка на Windows.

Windows не може да зареди разтегателен брояч DLL UGTHRSVC, Първият DWORD в секцията данни е кода за грешка на Windows.

Windows не може да зареди разтегателен брояч DLL MSSCNTRS, Първият DWORD в секцията данни е кода за грешка на Windows.

Ако аз тренировка в детайлите на един от тези съобщения, Аз добивам този:

Източник: Perflib

Тип: Грешка

Категория: Няма

Събитие ID 1023

Направих някои изследвания и е имало някаква индикация, тя може да бъде разрешение проблем по отношение на достъпа до въпросните DLLs. Играе с тези неща, но не могат да повлияят неща в един позитивен начин, така аз отказах на това.

VMware е са ме заядлив за извършване на актуализация за известно време, така че аз jotted определени версия е инсталиран (очевидно "1.0.1 Строя 29996") и did определителен член update. Това ме обновен до v1.04. За съжаление, не отстрани проблема.

Може да спре луд брой съобщения, ще ми регистрационния файл, ако аз затварям голо възвишение служба име "VMware разрешение служба". Това ми пречи да използват VMware софтуер, така … не такава чудесна възможност.

Операционната система е Windows XP 64 малко.

Аз не мисля, че това винаги е случило, но аз не си спомням всяко специално събитие, които биха довели до него.

Ето защо мразя компютри.

</край>

Technorati тагове:

Бърз & Лесно: Преименуване на качения файл с помощта на SharePoint обектния модел чрез получател на събитие

АКТУАЛИЗИРАНЕ: Това работи, но има съществени ограничения, които са описани в коментарите. Това все още може да бъде полезна в някои обстоятелствата.

АКТУАЛИЗИРАНЕ 2: В сегашния си проект, Потребителите винаги качване на документи. Като резултат, Аз не тичам в проблем, когато MS Word работи и мисли, че файлът е бил преименуван на него. Аз тичам в проблем, "файлът е променен от друг" и това решени чрез проста семафор тип флаг. Потребителите трябва да промените мета данни поле от стойността й по подразбиране на нещо друго. Itemupdated() приемник търси валидна стойност там, преди действително да се извършва Преименуване и оттогава, Не съм имал никакви проблеми. Вашият километраж може да варира.

Имам клиент изискване за промяна на името на качените файлове качени в конкретен документ библиотека да се съобрази с конкретен именуване конвенция. API не предвижда "Преименуване()" метод. Вместо това, Ние използваме "Движа(…)". Тук е минимален малко код, за да постигнем това:

 обществени замени невалидни ItemAdded(SPItemEventProperties имоти)
        {
            SPFile f = свойства.ListItem.File;

            f.MoveTo(свойства.ListItem.ParentList.RootFolder.Url + "/xyzzy.doc");
            f.Update();

        }

Само сложната малко е "свойства. ListItem.ParentList.RootFolder.Url". Движа() метод изисква URL адрес. Това пюре низ точки ми в главната папка на my текущ документ библиотека. Това ми позволява да се избегне всяко твърд кодиране в моя случай приемника.

Това е по-полезен версия, която прави същото, но Задава името на файла на "Заглавието":

 обществени замени невалидни 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 потребител среда.

Дискусията е тук: http://groups.google.com/group/microsoft.public.sharepoint.portalserver/browse_thread/thread/6d9a738d981af772/1c390b15c5407db6?#1c390b15c5407db6

Поп на над и допринасят!

</край>

Действие по избор URL няма да излагам на показ за нова функция

Аз все още съм в навик на занаятчийски ми функция 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 🙂

Аз да утеха във факта, че някой ден в бъдеще, Аз ще бъде в състояние да каже с убеденост, "през деня, Аз трябваше да изкачват три мили Хил в снега (бос!) за да разположите потребителско свойство на Мос. Вие деца, не знаете колко лесно го има! Махни се от моравата ми!"

Не мога да чакам.

</край>

Technorati тагове: ,