Solution: move code from webpart constructor to OnInit method of the Page.
Симптом: вы получаете такое сообщение при добавлении вебпарты на страницу на целевом сервере, причем на developer-машине все может работать.
При просмотре логов IIS например через ULSViewer вы находите исключение и ничего подробнее
Error importing WebPart. Assembly ***, Version=1.0.0.0, Culture=neutral, PublicKeyToken=***,
TypeName. ***.***
Обычно в интернете в таких случаях советуют изменить уровень безопасности в web.config, указать полное описание сборки в *.webpart описании вашей вебчасти или проверить нет ли read-only файлов в проекте.
Возможное решение:
В моем случае решение было найдено в одном из комментариев на stackoverflow. Причина может быть в конструкторе вашей вебчасти. В моем случае конструктор вебчасти получал SPContext:
- public MyWebpart()
- {
- this.ExportMode = WebPartExportMode.All;
- // получаем контекст
- web = SPContext.Current.Web;
- }
* This source code was highlighted with Source Code Highlighter.
При добавлении вебчасти WebPartImporter вызывает конструктор вебчасти и по какой-то причине не отрабатывает правильно. После переноса кода из конструктора в метод OnInit вебчасть стала добавляться.