Развертывание новых веб-частей - PullRequest
2 голосов
/ 28 октября 2008

Я пытался следить за информацией от:

Длинный URL обрезан, чтобы прекратить ломать страницу

и

http://msdn.microsoft.com/en-us/library/ms415817.aspx

Которые более или менее имеют одинаковые инструкции. Я копирую файл .dll из сборки в каталог BIN сайта Sharepoint.

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

Я испробовал все возможные способы, которые могу себе представить, но моя веб-часть не будет отображаться в этом списке. Есть ли шаг, который я где-то пропустил? Есть ли разрешения, о которых я должен подумать? Как именно Sharepoint распознает наличие новой веб-части. Это просто из-за размещения сборки в каталоге BIN или из-за добавления элемента управления в список безопасных файлов web.config?

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

Нужно ли переименовывать сборку .DLL во что-то еще?

За свою жизнь я не могу этого понять.

Ответы [ 5 ]

3 голосов
/ 28 октября 2008

Вы пытались использовать WPPackager tool от Microsoft? Я не касался SharePoint с v2003, и я знаю, что был удобный инструмент для развертывания WP для этой платформы. Я бы предложил ссылку на него, но 1) я не могу вспомнить его имя и 2) я не уверен, является ли это допустимым путем установки для вашей версии SharePoint.

3 голосов
/ 28 октября 2008

Это должно быть несовпадение между вашей сборкой и тем, что было введено в web.config для записи safecontrol.

Запись safecontrol чувствительна к регистру, и наименьшее количество ошибок остановится при отображении в списке «Новый» галереи веб-частей.

Также убедитесь, что вы редактируете правильный файл web.config! :-) Еще одна распространенная ошибка - класс вашей веб-части должен быть общедоступным.

Надеюсь, это поможет

Ник Свон

3 голосов
/ 28 октября 2008

Я считаю, что минимум, который вам нужен, чтобы WP отображался в «Новой» части каталога webPart, вам нужен dll в папке «bin» (bin в web dir, а не 12 hive :)) или в GAC и в безопасном контрольном пункте. Я бы проверил запись безопасного контроля:
Сборка = имя dll
NameSpace = хорошо ... NameSpace, где находится ваш класс WebPart
TypeName = название вашего класса webPart

Вы можете использовать символы NameSpace и TypeName для подстановки, просто чтобы быть уверенным, что вы туда попали:

... Namespace="*" TypeName="*" ...

Я бы также рекомендовал подписать сборку и добавить PublicKeyToken = ...

Также попытайтесь установить уровень доверия WSS_Medium или Full.

Если это не сработает, попробуйте добавить файл .webpart в папку wpCatalog в своем веб-каталоге.

Редактировать: Уточнение

1 голос
/ 03 ноября 2008

За последние 2 недели я создавал несколько веб-частей, но я не использовал раздел «Новые веб-части» в галерее веб-частей. Вместо этого я создаю файл .dwp (например, MyWebPart.dwp), который является более или менее XML-файлом, описывающим веб-часть, и вручную импортирую его в галерею.

Формат моих файлов .dwp обычно выглядит следующим образом:

<?xml version="1.0" encoding="utf-8"?>
<WebPart xmlns="http://schemas.microsoft.com/WebPart/v2" >
  <Title>My Sample Web Part</Title>
  <Description>This web part displays "Hello World" on the page.</Description>
  <Assembly>My.Assembly, Version=1.0.0.0, Culture=neutral, PublicKeyToken=3ed03eac7f647a61</Assembly>
  <TypeName>My.Assembly.MyWebPartClassName</TypeName>
  <!-- Specify initial values for any additional base class or custom properties here. -->
</WebPart>

Это, конечно, предполагает, что вы добавили эту сборку как «Безопасный контроль». После того, как вы скомпилируете сборку и переместите ее в bin / GAC для своего компьютера с SharePoint, вернитесь в галерею веб-частей, нажмите «Загрузить» и загрузите файл .dwp. Вам нужно будет указать несколько свойств после загрузки.

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

1 голос
/ 28 октября 2008

Ух ты, ты меня озадачил ... Я бы попробовал вручную развернуть некоторые другие сторонние "бесплатные" веб-части и посмотреть, сможешь ли ты их показать. Этот сайт имеет несколько: http://www.sharepointblogs.com/mkruger/archive/2007/06/26/free-sharepoint-web-parts-3rd-party.aspx

Убедитесь, что вы установили: [assembly: AllowPartiallyTrustedCallers] в вашем файле AssemblyInfo?

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

Это простой привет мир wp или ты делаешь что-то большее?

Если честно, я начинаю верить, что именно ваши настройки / настройки wss / moss в настоящее время мешают вашим усилиям. Вы когда-нибудь успешно развертывали WP на своей ферме? ... Это ферма разработчиков VPC или производство?

...