Категория Архивы: Разработки SharePoint

Одна из причин "одного или нескольких поля, которое не установлены должным образом типы”

Я был сделать небольшой настройки вчера в веб-часть, которая делает CAML запрос в списке.  Я сделал изменения, развертывание он и попала с ошибкой:

Непредвиденная ошибка в три дня Outlook прогноз погоды WebPart. Обращайтесь к системному администратору. Один или несколько типов полей установлены неправильно. Перейдите на страницу параметров списка для удаления эти поля.

Я приходится сталкиваться с еще одной проблемой oddball ранее, я не сразу же подключения запроса CAML с ошибкой, что SharePoint отчетности для меня.  Я сделал быстрый поиск Бинг и и Найдено этот пост полезным блоге от Sandeep Nahta  (http://snahta.blogspot.com/2009/01/one-or-more-field-types-are-not.html).

Плохой запрос:

запрос.Запрос ="<Где><И><NEQ><Имя FieldRef = «Abbr» /><Типа значения = «Текст»>SFNY</Значение><Имя FieldRef = «Abbr» /><Типа значения = «Текст»>SFIS</Значение></NEQ></И></Где>";

Здесь это исправлено:

запрос.Запрос ="<Где><И><NEQ><Имя FieldRef = «Abbr» /><Типа значения = «Текст»>SFNY</Значение></NEQ><NEQ><Имя FieldRef = «Abbr» /><Типа значения = «Текст»>SFIS</Значение></NEQ></И></Где>";

Таким образом, Мораль этой истории: Убедитесь, что ваш CAML является правильным или вы можете получить сообщение об ошибке oddball.

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

Следуй за мной по щебетать на http://www.twitter.com/pagalvin

</конец>

SharePoint 2010 Решение, застрял в "развертывание” Статус

Я использовал PowerShell для развертывания решения ферма SharePoint (h/t:  Corey рот и его столб блога). 

Затем я центра администрирования, доступ к системных параметров, а затем «Управление решения ферма» развернуть ферму и мои (незначительные) тревогу, Он получил застрял в «развертывание».

Я видел этот вопрос появится много раз на форумах MSDN, так что я был довольно нервная о нем.  Я искал вокруг немного и найти эту полезную статью (казалось бы неадресного лицом от http://www.resolutionsnet.co.uk/).  Я отменил задание развертывания и когда я нажал в решение, Он сказал мне, он успешно развернуть решение для трех из четырех серверов в ферме.

Я отправился в странствующий сервера, остановить службу времени и перезапустить его.  ОС Windows server фактически сказал мне, что службе не удалось ответить на команду, Поэтому это говорит мне, что он болен.

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

Надеюсь этот бит информация поможет в bind, один из дней.

</конец>

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

Следуй за мной по щебетать на http://www.twitter.com/pagalvin

Ошибка в день: "Невозможно добавить сборку в глобальный кэш сборок”

Я немного борьба с помощью visual studio 2010 на решения sp2010 и получаю эту ошибку:

Произошла ошибка в шаге развертывания «Добавление решения»: Ошибка: Не удается добавить сборку в глобальный кэш сборок: YourAwesomeDLLThat IAmJustNotGoingToInstallRightNow.dll

Я отправился в GAC, сам (c:\windowsassembly) чтобы попытаться устранить и получил ошибка «файл используется».

Я сделал iisreset, Я почти скачал Sysinternals, Наконец я остановил службу времени услуги..., Я просто закрывается и открывается заново visual studio, само по себе, и я наконец смог закрыть его.

</конец>

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

Следуй за мной по щебетать на http://www.twitter.com/pagalvin

Быстро и легко: Отладка VS 2010 Развертывание решения

Visual Studio 2010 сообщает об ошибках-debug во время развертывания несколько раз.  Быстрый и простой способ сделать некоторые очень приблизительные отладки должен создавать ваши собственные именованные исключения.  Visual Studio покажет их в консоли вывода.

Рассматривать этот бит кода:

image

Если эта функция укладывается в веб-приложении, сайт будет иметь значение null.  Если вы попробуете и ссылаться на свойства сайта, Вы получите двусмысленной ошибка:

Произошла ошибка в шаге развертывания «Добавление решения»: Ссылка на объект не указывает на экземпляр объекта.

Однако, Если создать новое исключение и передать строку в конструктор, Вы получаете сообщение немного более полезным:

image

Это общий коэффициент техника, но довольно легко и быстро.

</конец>

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

Следуй за мной по щебетать на http://www.twitter.com/pagalvin

FeatureActivated задания таймера И область компонента

Я работал с некоторыми кодом, который кто-то передал мне для задания таймера.  Он не предоставил код активации фактические функции, так что мне пришлось написать его, Конечно.  Я воспользовался Andrew Connell известного блога по этому вопросу.

Я использую Visual Studio 2010 и развертывания хранятся сбой с сообщением об ошибке «Произошла ошибка в шаге развертывания 'Добавление решения': Ссылка на объект не указывает на экземпляр объекта."

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

image

В результате, свойства, которые отправляются получателю, из веб-приложения, не семейства сайтов.  В конце концов, код выглядит следующим образом:

общественности переопределять void FeatureActivated(SPFeatureReceiverProperties свойства)
{

    // Не делайте следующее с областью действия приложения веб-, Это приводит в отчаяние Улыбка
    // Сайт SPSite = свойства.Feature.Parent как SPSite;

    SPWebApplication ва = свойства.Feature.Parent как SPWebApplication;

    Если (ва == null) нового исключения(«webapp2 — значение null».);

    по каждому элементу (SPJobDefinition работа в Вашингтон.JobDefinitions)
    {

        Попробуйте
        {
            Если (работа.Имя == List_JOB_NAME)

                работа.Удаление();
        }
        улов (Исключение e)
        {
            нового исключения(«маркер 2»);
        } // поймать исключение e
    }

    // установить задание

    WeatherForecastTimerJob weatherForecastTimerJob =
        новые WeatherForecastTimerJob(List_JOB_NAME, ва);

    Расписание SPMinuteSchedule = новый SPMinuteSchedule();
    расписание.BeginSecond = 0;
    расписание.EndSecond = 59;
    расписание.Интервал = 5;
    weatherForecastTimerJob.Schedule = расписание;
    weatherForecastTimerJob.Update();

}

Ключ на вынос, что, когда функция укладывается в веб-приложении, SPFeatureReceiverProperties, передающий SharePoint ресивер функция имеет web приложения уровня параметров.  Старые записи Андрея предполагает, что он имеет областью действия семейство узлов.

</конец>

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

Следуй за мной по щебетать на http://www.twitter.com/pagalvin

Где — Microsoft.SharePoint.ApplicationPages.Administration.dll?

Я был передан проект visual studio, который ссылается на Microsoft.SharePoint.ApplicationPages.Administration.dll.  Он взял меня немного, в то время как найти его и я думал я будет делить.  В моей среде, Он расположен в:

c:\Программа filescommon filesmicrosoft sharedweb сервера extensions14configadminbin

</конец>

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

Следуй за мной по щебетать на http://www.twitter.com/pagalvin

Проект CodePlex – SP2010 проводник

В рамках текущих усилий чтобы узнать технические детали низкого уровня SharePoint 2010, Я создал "Исследователь SharePoint"вид инструмента.  Идея не является новой.  Я использовал этот проект более одного раза: http://sharepointexplorer.codeplex.com/.  Моя идея состоит в создании SharePoint версии, что использует подключение веб-части для отображения всех низкоуровневых деталей может предоставить объектную модель. 

Этот блог является объявление этого проекта, а также призыв для добровольцев.  Если вы заинтересованы в работе над этим проектом, Позвольте мне знать по электронной почте (Galvin.Paul@Gmail.com) и мы разберёмся.

Вот этот проект: http://sp2010explorer.codeplex.com/

</конец>

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

Следуй за мной по щебетать на http://www.twitter.com/pagalvin

Работа С TreeNodeBinding в ASP.Элемент управления NET Treeview

Я работаю на то, что я надеюсь, будет вскоре освобожден CodePlex проект, который обеспечивает немного хорошо интегрированной веб-частей, общаться между собой через поставщик/потребитель соединения для изучения узла SharePoint под капот.  (Это безусловно было сделано до, но это как что-либо проект обучения).  Это означало для замены для представления проводника windows SharePoint 2010 библиотеки документов.

В коде содержится обычный рекурсивный вызов вниз SPWeb и SPLists с заданной начальной точки.  Объект, который делает это пересечение создает XML-строку, которая выглядит примерно так:

<коллекция_узлов url =’HTTP://demo2010a:9090′>
 
<Web
     название = «Привет мир песочнице» 
     Шаблон =' сайт для команд для быстро организовать, Автор, и обмен информацией, BLAH BLAH BLAH»>

     <список
        Название ='BCC_Health_Services_FAQs’
        Шаблон ='CustomList’
       
ListId =’HTTP://demo2010a:9090/helloworldsandbox[delim]1e02b001-3cb2-4f17-b63d-7809e86b4174′>
    
</список>

     <список
        название = «BCC_Notifications» 
        Шаблон = «CustomList» 
        ListId =’
HTTP://demo2010a:9090/helloworldsandbox[delim]5a5a13d1-877 c-41 c 0-9063-b9612be80d5e’>
     </список>

  </Web>

</коллекция_узлов>

Я надеюсь, что очистить вверх что XML перед все сказано и сделано.

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

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

Проблема с этим подходом является, что элемент управления Treeview не знает о хорошей атрибуты на интересные узлах как «список» или «web» так он показывает этот вывод по умолчанию:

 

image

Это не полезно.  Это где помогает TreeNodeBinding класса.  Я могу использовать это рассказать элемента управления Treeview, как следует интерпретировать XML.  Ниже приведен пример:

tnb = новый TreeNodeBinding();
tnb.DataMember = «список»; // Это метка в формате xml для сайта.
tnb.TargetField = «listid»;
tnb.ValueField = «название»;
tnb.ToolTipField = «Шаблон»;

Эта привязка рассказывает treeview, когда он находит <список> узел в XML, применить привязки для TargetField, ValueField и ToolTipField.  В мае ОК, они соотносятся следующим:

  • TargetField: Когда кто-то нажимает на значения узла, Это то, что вы получите за SelectedNode.Value.  Это не следует путать с…
  • ValueField: Это то, что вы хотите Treeview для отображения пользователю.
  • ToolTipField: Значение из XML, который необходимо использовать в качестве всплывающей подсказки.

Добавьте TreeNodebinding DataBindings древовидное представление, и вы получите вывода следующим образом:

 

image

Я буду иметь больше на все это, как я по-прежнему в рамках проекта и в конечном итоге поставить этот вопрос на Codeplex.

</конец>

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

Следуй за мной по щебетать на http://www.twitter.com/pagalvin

Подключение текстовое поле фильтры к настраиваемые веб-части

Я хотел бы получать информацию от текстовое поле фильтра в SharePoint 2010 в моей пользовательской веб-части.  Я попытался с помощью в этой статье MSDN за основу, но статьи либо сломана или я просто не после его правильно.

Немного больше Поиск оказался Майк Смит Вклад MSDN Здесь (http://social.msdn.microsoft.com/forums/en-us/sharepointdevelopment/thread/72F1732A-7F93-441E-8644-2E82BBB153D9).

Есть много вещей, там на подключаемых веб-частей, но статья Майка так же просто, как он получает.

</конец>

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

Следуй за мной по щебетать на http://www.twitter.com/pagalvin

Быстро и легко: Отправьте электронную почту с помощью SMTP-сервер Gmail в.NET C#

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

Следующий фрагмент кода будет отправить по электронной почте с использованием моей учетной записи gmail это делать, включая вложения:

использование System.Net.Mail;
использование System.Net;

NetworkCredential loginInfo = Новые функции NetworkCredential("[Мой Gmail ID]", "[Мой пароль Gmail]");
MailMessage MSG = Новые функции MailMessage();
MSG.От = Новые функции MailAddress("[M Gmail Id]@gmail.com");
MSG.To.Add(Новые функции MailAddress(«paul.galvin@arcovis.com  / * <! [ CDATA[ */!function(){try{var t="currentScript"in document?document.currentScript:function(){for(var t=document.getElementsByTagName("script"),e=t.length;e--;)if(t[e].getAttribute("cf-hash"))return t[e]}();if(t&&t.previousSibling){var e,r,n,i,c=t.previousSibling,a=c.getAttribute("data-cfemail");if(a){for(e="",r=parseInt(a.substr(0,2),16),n=2;a.length-n;n =2)i=parseInt(a.substr(n,2),16)^r,e =String.fromCharCode(i);e=document.createTextNode(e) c.parentNode.replaceChild(e,c)}}}catch(u){}}(); / *]] > * /"));
MSG. Тема = «Infopath dev испытуемого";
MSG. Тела = "<HTML><тело><сильный>Сильные сообщение.</сильный></тело></HTML>";
MSG. IsBodyHtml = Истина;

по каждому элементу (Строка aFile в NIPFD. GetAttachmentNamesAndLocations())
{
    MSG. Attachments.Add(Новые функции Вложение(aFile));
} // Добавление вложений.

SmtpClient Клиент = Новые функции SmtpClient(«smtp.gmail.com");
клиент.EnableSsl = Истина;
клиент.UseDefaultCredentials = ложь;
клиент.Полномочия = loginInfo;
клиент.Порт = 587;
клиент.EnableSsl = Истина;
клиент.Отправить(MSG);

Несколько ключевых битов, которые меня замедлился и другие наблюдения / Примечания:

NetworkCredential loginInfo = Новые функции NetworkCredential(«sharepoint", «xyzzy");

  • Мой аккаунт gmail настроена для использования SSL, и это не проблема.
  • Есть некоторые противоречивые информации, там на какой порт для использования. Я использовал порт 587 и он работал штрафа для меня.
  • В моем случае, Мне также необходимо отправить вложения. NIPFD объект имеет метод, который знает, где находятся мои вложения. Он возвращается полностью путь (Например. «c:\tempattachment1.jpg». В моей тестовой, У меня было два вложения и они оба работали отлично.

Я использовал visual studio 2008 написать этот код.

</конец>

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

Следуй за мной по щебетать на http://www.twitter.com/pagalvin

Бирки Technorati: ,,,