Ошибка при попытке развернуть веб-часть - PullRequest
2 голосов
/ 16 октября 2008

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

пространство имен по умолчанию «http://schemas.microsoft.com/WebPart/v2' является зарезервированным пространством имен для базовой сети Частные владения. Пользовательская веб-часть свойства требуют уникального пространства имен (указывается через XmlElementAttribute на свойстве, или XmlRootAttribute для класса).

Я записываю веб-части в CAB-файлы и внедряю их следующим образом:

stsadm -o addwppack -filename web_part_name.CAB -url http://your_url_here -globalinstall -force 

Все работает нормально, пока я не попытаюсь добавить веб-часть, затем я получаю эту ошибку во всплывающем окне. Он отлично работает на моей виртуальной машине разработчика ...?

Любые идеи будут признательны, спасибо.

Ответы [ 4 ]

1 голос
/ 02 декабря 2008

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

После этого просто поместите веб-часть на любую страницу и используйте кнопку экспорта в настройках веб-части. Это создаст файл .webpart или .dwp в зависимости от вашей веб-части (.webpart - это «новое» определение, которое используется веб-частями, родными для MOSS 2007, а .dwp - для старых веб-частей, но это зависит от того, как вы написали свою веб-часть)

Тогда просто возьмите экспортированный файл и включите его в свой проект. Этот подход работает для меня по крайней мере.

0 голосов
/ 28 декабря 2008

Да, ваш файл определения веб-части (* .dwp или * .webpart), вероятно, неверен. Отправьте это здесь, и это должно быть быстро, чтобы найти ошибку.

0 голосов
/ 16 октября 2008

Вы упаковали свою веб-часть как файл .webpart?

Если это так, вы должны использовать новое пространство имен v3. Чтобы использовать v2, вы должны упаковать его в файл .dwp.

0 голосов
/ 16 октября 2008

Немного обоснованное предположение, но в любом случае: -

Сначала убедитесь, что в вашей веб-части есть такой атрибут XmlRoot

[XmlRoot(Namespace = "Your.Namespace")]
public class YourWebPart: WebPart
{
...

и атрибут XmlElement в ваших пользовательских свойствах

    [DefaultValue(0)]
    [WebPartStorage(Storage.Shared)]
    [Browsable(false)]
    [XmlElement(ElementName = "YourProperty")]
    public Int64 YourProperty
    {         
       ...
    }

Эта ошибка возникает, когда .NET пытается удалить данные из файла .DWP и установить пользовательские свойства в вашей веб-части.

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

Сначала я бы изучил ваш файл .dwp. Есть ли у вас какие-либо настраиваемые свойства, если это так, удалите их и повторите тест.

Закомментируйте пользовательские свойства в коде веб-части один за другим и повторяйте тестирование на каждом шаге.

Я думаю, вы обнаружите, что один из них вызывает проблему - именно поэтому следующий вопрос!

...