Добавление пользовательской веб-части на страницу: не зарегистрировано как безопасное - PullRequest
2 голосов
/ 14 марта 2012

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

Невозможно добавить выбранные веб-части. (Имя веб-части). Веб-часть или элемент управления веб-формы на этой странице не могут быть отображены или импортированы. Тип не найден или не зарегистрирован как безопасный.

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

<SafeControl Assembly="xxx_WebPart, Version=1.0.0.0, Culture=neutral, PublicKeyToken=274c568f7ef9ca81" Namespace="xxx_WebPart.UI.WebControls.WebParts" TypeName="*" Safe="True" />

Я искал ошибку, но большинство обращений, похоже, указывают на запись web.config, которая у меня есть. Я озадачен тем, почему 2 из 4 веб-частей работают, а другие нет. Любая помощь будет оценена!

Ответы [ 2 ]

4 голосов
/ 26 июля 2013

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

В WebPart есть свойство с именем Записи безопасного управления , как показано ниже:

Safe Control Entries detail

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

2 голосов
/ 14 марта 2012

Не работают ли два других элемента управления или библиотеки? Любой элемент управления пользовательского интерфейса, на который есть ссылка и который должен быть обработан, должен быть добавлен к безопасному элементу управления. Если вы используете стороннюю DLL, которая не была правильно упакована или использует элементы управления, не помеченные как безопасные, то вы увидите эту проблему.

Попробуйте также посмотреть XML-файл веб-части и убедиться, что вы ссылаетесь на правильные библиотеки DLL (это может быть не синхронизировано, если вы реорганизуете класс / пространство имен, но не редактируете веб-часть для соответствия). В этом случае ваша веб-часть все равно будет отображаться в галерее (в конце концов, это всего лишь XML; проблем нет), но попытка использовать ее приведет к возникновению этой ошибки из-за того, что веб-часть будет ссылаться на DLL, которая не была зарегистрирована (и, вероятно, не не существует). Если это проблема, вы должны деактивировать функцию, убедитесь, что веб-часть удалена из галереи, затем разверните изменения и повторно активируйте. Вы можете просмотреть веб-часть XML из браузера и убедиться, что она обновлена ​​/ исправлена.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...