Архивы по месяцам: Январь 2008

Вот почему я не как день ноль с помощью-инструменты

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

Если инструмент делает вещи вы не понимаете, и тогда она не сможет в шаге n неизвестное количество шагов, ты мертв в воде…

</конец>

Бирки Technorati:

Решение для сбоя импорта BDC ADF: “Произошла следующая ошибка:”

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

изображение

«Ошибка импорта определения приложения. Произошла следующая ошибка:"

Как вы можете видеть, Произошла ошибка, но … Это не будет сказать мне то, что он.

В моем случае, вопрос оказалось, что я начал с функциональной ADF для другого проекта, который подключен к базе данных и выполняется SQL-запрос для представления. В этом новом проекте, Я звоню метода веб-службы. Я раздели DB конкретные вещи и добавил мои веб-службы вещи, Однако не удалось обновить <Недопустимый>в атрибут type. Я перешел на «WebService" и я счастливо перешёл ошибки импорта новых и более интересных, которые были обработаны в свое время.

Вот так недопустимый:

<Недопустимый
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">

Это правильно:

<Недопустимый
xmlns:xsi =HTTP://www.w3.org/2001/XMLSchema-instance
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">

</конец>

Бирки Technorati:

BDC кажется жизнеспособной замены для поиска

ОБНОВЛЕНИЕ: Это размещение MSDN имеет несколько интересных наблюдений от JXJ, основанный на его, главным образом отрицательные, опыт, спускаясь этот путь: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2623565&SiteID=1

У нас есть бизнес-сценарий, где нам необходимо связать две библиотеки документов через общий "Идентификатор документа" поле.

Мы часто использовать столбец подстановок для реализует ссылки, как это. Есть несколько недостатков для столбцов подстановки, три из которых являются:

  1. Может быть связан только один столбец подстановок поиска библиотеки.
  2. Производительность: Источник библиотека может содержать сотни записей. Это слишком много записей в объекте lookup.
  3. Поиск: Существует нет интегрированный поиск. Я не имею в виду в смысле поиска MOSS, но нет никакого способа для поиска / Фильтрация по нескольким столбцам из библиотеки исходного документа и найдите нужную ссылку.

При поддержке BDC, Мы можем использовать «бизнес-данных" тип столбца и он обеспечивает улучшенный поиск и даже позволяет несколько столбцов данных, которые отображаются в представлениях списка.

Я имел некоторые предварительные успех с этим подходом и планируете написать об этом больше.

Если вы уже работал этот угол до и есть какие-либо комментарии, Пожалуйста, поделитесь!

</конец>

Бирки Technorati:

Решение ошибка импорта каталога бизнес-данных: “Не удалось загрузить тип охарактеризован TypeDescriptor в TypeName …”

Я работала с BDC сегодня, кодирование ADF файлов вручную и генерации себя некоторые ошибки. Одна такая ошибка:

Импорт определения приложения не удалось. Произошла следующая ошибка: Не удалось загрузить тип охарактеризован TypeDescriptor в TypeName. Имя параметра: typeName ошибка была обнаружена на или как раз перед строкой: ' 35’ и позиция: «20».

Мосс появится эта ошибка, когда я пытался импортировать XML ADF-файла.

Я исследовал Интернет и обнаружил, что я ссылается на имя экземпляра LOB (от <LobSystemInstance>) в моей <Дескриптор типа> узел когда я должен ссылка само имя LOB (От <Недопустимый>).

Неправильно:

<Дескриптор типа TypeName="Conchango.KeyValue, Имя экземпляра типа LOB" Имя = «KeyValue»>

Исправить:

<Дескриптор типа TypeName="Conchango.KeyValue, Имя LOB" Имя = «KeyValue»>

Надеюсь, что это один сохраняет кто-то через час или два времени.

</конец>

Подписаться на мой блог!

Бирки Technorati:

Решение проблемы: “FileNotFoundException” С моим приемником функция.

Я работал на функцию на прошлой неделе, что бы добавить некоторые приемники событий в определенный экземпляр списка. (Я blogged немного об этом списка приемник здесь).

Использование командной строки, Я мог бы установить функцию с без ошибок (Но смотрите ниже скрытые ошибки). Когда я попытался развернуть функцию на сайте, Мосс жаловался на "FileNotFoundException" Ошибка. Эта запись в блоге описывает, как я решил ее.

Это ошибка, которая Мосс показал мне в веб-браузере:

Функция ' b2cb42e3-4f0a-4380-aaba-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()
ПРЕДУПРЕЖДЕНИЕ: Включено ведение журнала привязки Ассамблея OFF.
Для включения журнала отказа Ассамблеи bind, Установите значение реестра [HKLMSoftwareMicrosoftFusion!EnableLog] (DWORD) Кому 1.
Примечание: Есть некоторые производительности, связанные с регистрацией отказа Ассамблеи bind.
Чтобы отключить эту функцию, Удалите значение реестра [HKLMSoftwareMicrosoftFusion!EnableLog].

Устранение проблем с службы Windows SharePoint Services.

Я знаю, как намеренно вызвать эту ошибку: не устанавливать сборку в глобальный кэш сборок. Но, Он был в GAC. Я обычно установить сборки в GAC, перетащив их в c:\windowsassembly папку с помощью проводника windows. Я никогда не чувствовал 100% комфортабельный делать, потому что я всегда думал что gacutil существовала по причине … так что я попытался что. Он сделал никакой разницы.

Я искал Интернет и нашел этот пост: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2243677&SiteID=1

Плакат случилось с использовать же корня кусок кода (из WSS внутри книги из этого списка) так что было обнадеживающим. Однако, предложение украшения с Ассамблее [Ассамблея: ] Директива не имеет смысла для меня. Я попробовал его в любом случае, и я был прав. Он сделал никакой разницы.

Затем я заметил, что моя определение класса не было общественного. Я сделал это общественность, и что сделал никакой разницы.

Следующая, Я пошел на проблемы предоставления журнал неудачи bind Ассамблея"" (После полезной и точной инструкции) и это то, где вещи начали получать интересные. Журнал показывает мне, что среда выполнения ищет повсюду на этом сервере для моей сборки. Кажется, даже искать его в моей аптечке. Но … Он не будет его поиск в глобальном кэше сборок.

Я положил на моем Зимняя куртка и идти поиск Internets снова и найти, что кто-то имел эту проблему слишком. Продолжительные дискуссии в этой публикации Питерс покинуть в ничто, и я не могу найти решение.

Я перехожу мою сборку в одно из мест, где журнал утверждает, это поиск и немного больше прогресса. Я я вознаграждены с новой ошибки в браузере, когда я пытаюсь активировать функцию:

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

Устранение проблем с службы Windows SharePoint Services.

Время одной последней поездки в Интернет!

На этот раз я узнать, достаточно предсказуемо, этой ошибки Мосс потому, что данная сборка не находится в глобальном кэше сборок.

Я хочу получить что-то положительное из этого и пытаются чувствовать себя немного горд, что я создал Беглец сборок MSIL, но он не работает. Я просто раздражает. Я считаю себя бормотание "курица или яйцо" под мое дыхание.

Я, наконец, решили Пунт. Я создать совершенно новый проект и копировать/вставить код из incredible-cloaked-from-the-GAC-assembly проекта не работающие над этот новый проект. (Я смотрю на сборки флага, под названием что-то вроде "скрыть от Ассамблеи, в том случае, если установлена в глобальный кэш сборок" но не могу найти один).

Я установить и активировать ее и … Он работает! Таким образом, После всего этого, Мне пришлось в основном ' перезагрузки’ Мой проект. Это еще одна причина, почему я ненавижу компьютеров.

Я узнал что-то полезное из этого. Я была установка компонентов с использованием командной строки stsadm весь день и были с использованием "-сила" вариант по привычке. По некоторым причинам, Я не использовать параметр - force когда я установил новый проект. На этот раз, Я сделал на самом деле, действительно, забудьте скопировать этот новый проект сборки в GAC. В результате, Я получил "FielNotFoundException" Ошибка. На этот раз, Я получил его от stsadm, не тогда, когда я пытался активировать функцию через веб-браузер. Таким образом, -сила на самом деле играет две роли. Это позволяет повторно установить существующий компонент. Она также позволяет установить функцию багги, которая не может работать во время выполнения путем подавления ошибки. Он, вероятно, говорит столько в помощь где-то, но я не заметил.

</конец>

Воскресенье смешно: Вверх 10 Способы раздражать ваши жена

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

===

Бонус жена шутка:

Два коллег-мужчин выходят на обед. Одна из них рассказывает другой, "Я позволить потерять неловко Фрейду другой ночью."

"Фрейду? Что это?"

"Хорошо, когда мы закончили еды, официантка пришел и спросил, как мы любили наши блюда. Я имел в виду сказать, ' Я любил куриные грудки’ но вместо этого я сказал, «Я любил вашу грудь». Я был смущен, так."

"Ах," его коллега ответил. «Я имел то же самое случилось со мной в эти выходные с моей женой. Мы ели завтрак, который я имел в виду просить ее пройти масло, но вместо этого я кричал на нее, ' Вы разрушили мою жизнь!’"

</конец>

Бирки Technorati:

Код события 1023: “Не удалось загрузить расширяемых счетчиков DLL MSSCNTRS”

ОБНОВЛЕНИЕ (04/08/08): Я, кажется, решить эту проблему. Из командной строки, Я побежал "c:\windowssystem32lodctr/r" Согласно запись говорить о InstallShield, как представляется, решили его для меня проблем и что.

Я заметил, что в последнее время, мой рабочий стол/сервер вентилятора никогда не отключается. Я знаю, что он используется для отключения. Я взял время, чтобы проверить его вне заметил, что VMware процесс запущен последовательной 20% использование на одном из процессоров. Я проверил журнал событий и увидел эти ошибки в журнале приложений происходит в десятки раз в минуту:

Не удалось загрузить расширяемых счетчиков DLL UGatherer, в разделе данных DWORD находится код ошибки Windows.

Не удалось загрузить расширяемых счетчиков DLL UGTHRSVC, в разделе данных DWORD находится код ошибки Windows.

Не удалось загрузить расширяемых счетчиков DLL MSSCNTRS, в разделе данных DWORD находится код ошибки Windows.

Если я Просверлите в подробности одного из этих сообщений, Я получаю это:

Источник: Perflib

Тип: Ошибка

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

Код события 1023

Я сделал некоторые исследования, и там было некоторое представление, что это может быть разрешение проблемы с точки зрения доступа к библиотекам DLL в вопросе. Я играл с этой вещи, но не может повлиять на вещи в положительную сторону, поэтому я дал вверх на том.

VMware нытье меня об обновлении на довольно некоторое время, так что я jotted вниз версии я был установлен (по-видимому «1.0.1 build 29996») и сделал обновление. Это меня повышен до v1.04. К сожалению, Это не исправить выпуск.

Я могу остановить безумный количество сообщений, собирается мой журнал приложений, если я закрыть службы с именем «VMware авторизации службы». Это предотвращает меня от использования программного обеспечения VMware, так что … не такой большой вариант.

Базовая операционная система-Windows XP 64 бит.

Я не думаю, что это случилось всегда, но я не помню какой-либо конкретного события, которые могли привести к нему.

Вот почему я ненавижу компьютеров.

</конец>

Бирки Technorati:

Быстрый & Легко: Переименуйте загруженный файл, с помощью объектной модели SharePoint через получатель событий

ОБНОВЛЕНИЕ: Это работает, но есть существенные ограничения, которые описаны в комментарии. Это все еще может быть полезным в некоторых свержению.

ОБНОВЛЕНИЕ 2: В моем текущем проекте, Пользователи всегда загружать документы. В результате, Я не столкнуться с проблемой, где MS Word выполняется и думает, что файл был переименован на нем. Я побежал в проблему, "файл был изменен кем-то еще" и решить это через простой семафор типа флаг. Пользователи должны изменить поле данных мета от его значения по умолчанию для что-то другое. Itemupdated() приемник ищет допустимое значение до фактического выполнения rename и с тех пор, У меня не было никаких проблем. Ваш пробег может варьироваться.

У меня есть клиент требование, чтобы изменить имя файлов, загруженных в определенной библиотеке документов в соответствие с конкретной именования. 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-адреса. Это пюре строка указывает меня к корневой папке моей текущей библиотеки документов. Это позволяет мне избежать любого жесткого кодирования в моем приемник событий.

Это более полезным версия, которая делает то же самое, но присваивает имя файла «Титул»:

 государственные Переопределение void ItemAdded(SPItemEventProperties Свойства)
        {
            DisableEventFiring();

            // Присвойте название данного пункта на имя самого файла.
 // ПРИМЕЧАНИЕ: Это назначение должно иметь место до того, как мы изменить сам файл.
 // Вызов обновление() на SPFile кажется недействительным свойства в
 // Некоторые чувства.  Обновления для "название" не удалось пока что изменения (и обновление() звонок)
 // были перемещены за изменения в имени файла.
            Свойства.ListItem["Название"] = Свойства.ListItem.File.Name;

            Свойства.ListItem.Update();

            SPFile f = свойства.ListItem.File;

            // Получить расширение файла.  Нам нужно, что позже.
 Строка spfileExt = Новые функции FileInfo(f.Name).Расширение;

            // Переименуйте файл Идентификатор элемента списка и использовать расширение файла для сохранения
 // Эта часть его нетронутым.
            f.moveTo(Свойства.ListItem.ParentList.RootFolder.Url +
                "/" + Свойства.ListItem["ID"] + 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
 ID="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
 ID="SiteActionsToolBar"
 GroupId="SiteActions"
 Местоположение="Microsoft.SharePoint.StandardMenu"
 Последовательность="100"
 Название="Привет!"
 Описание="Пользовательское меню действий, добавить через функцию."
    >
    <UrlAction URL-адрес="HTTP://www.Xyzzy.com"/>
  </CustomAction>
</Элементы>

На это у меня ушло два часа

Я пользуюсь утешение в том, что когда-нибудь в будущем, Я буду в состоянии сказать с уверенностью, "назад в день, Мне пришлось ходить в трех милях вверх по холму в снегу (босиком!) чтобы развернуть пользовательские функции Мосс. Вы дети, Вы не знаете, как легко она у вас! Сойдите мой газон!"

Не может ждать.

</конец>

Бирки Technorati: ,