Преименуване на уеб част имена (Или, Една от причините за "уеб компонент или контрола за уеб формуляр на тази страница не може да се покажат или импортират)”

Аз съм бил на работа за да dev котлети, назад и за тази цел, работи по един хоби проект, който има следните бита:

  • Свързан уеб компонент, който получава сайт или сайт URL адреса на колекцията от извън полето SharePoint текст филтриран уеб компонент.
  • Тази уеб част търси цялата информация избрания сайт, генерира XML пакет и ръцете към друг WP на страницата (чрез връзки).
  • 3RD уеб част получава XML и прави някои XSL трансформация неща.

Исках да преименувате пространство на имената на всички битове на "Nivlag" и аз е първи удар със следната грешка при разположени на уеб част  Моят тестова среда:

Уеб компонент или контрола за уеб формуляр на тази страница не може да се покажат или импортират.  Типът не можа да бъде намерен или не е регистриран като безопасен.

Това е проблем на начинаещ, но мислех, че ще нахвърлям бележка по този въпрос все пак.  Аз предизвиква грешка, когато щракнах на пространство на имената по подразбиране (които просрочва на името на проекта), избрани Refactor и след това преименуване като така:

image

Това преименувате неща в един куп места в проекта, но това не е достатъчно.  Вие също трябва да направите няколко други корекции:

1. Ръчно отваряне и редактиране на файл, "ShaerPointProjectItem.spdata". Че един XML файл, който е <SafeControls> раздел.  Функцията за преименуване на пространство на имената не е наясно с този файл по някаква причина, така че ще трябва да актуализирате Namespace там ръчно.

2. Ръчно редактиране на .webpart файл.  По някаква причина, Visual Studio не променя тази препратка или.  Промяна "<тип>"възел да отразява променените си имена там.

3. На последно място, в зависимост от това как сте refactored namespace промяна, Visual studio може да са също се актуализира на низ, който препраща към вашия .ascx файл тук:

частни const низ _ascxPath = @"~/_CONTROLTEMPLATES...

Може да се наложи да я променя обратно.  Вие ще, защото вие ще получите грешка подобно на следното, когато се опитате и да добавите уеб компонент към зона от web част на  страница:

Грешка в сървъра "/’ Приложение.


Файлът ' /_CONTROLTEMPLATES/Nivlag/VisualWebPart1/VisualWebPart1UserControl.ascx’ не съществува.

Описание: Възникна необработено изключение по време на изпълнението на текущата заявка в мрежата. Моля, прегледайте проследяването на стека за повече информация за грешката и когато са възникнали в кода.
Данни за изключението: System.Web.HttpException: Файлът ' /_CONTROLTEMPLATES/Nivlag/VisualWebPart1/VisualWebPart1UserControl.ascx’ не съществува.
Източник на грешка:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

 

Определя референтната там и трябва да бъде добре да тръгвам.

4. На последно място, действителната ASCX файла все още е позоваване (за мен) към старите оригиналните имена (функцията refactor/Преименуване не поправя това).  Вие ще знаете за тази грешка, когато опитате и добавите уеб компонент към страница и да получите следното съобщение:

Грешка в сървъра "/’ Приложение.


Грешка на анализатора

Описание: Възникна грешка при синтактичния анализ на даден ресурс, се изисква да се обслужи тази заявка. Моля, прегледайте следните специфични синтактична грешка подробности и променяте файла източник по подходящ начин.
Съобщение за грешка на анализатора: Не може да зареди тип "RenameNameSpace.VisualWebPart1.VisualWebPart1UserControl".
Източник на грешка:

Линия 6:  <%@ Внос Namespace="Microsoft.SharePoint" %> 
Линия 7:  <%@ Регистър Tagprefix = "страници с уеб части" Namespace="Microsoft.SharePoint.WebPartPages" Assembly="Microsoft.SharePoint, Версия = 14.0.0.0, Култура = неутрална, PublicKeyToken = 71e9bce111e9429c" %>
Линия 8:  <%@ Контрол език = "C#" AutoEventWireup = "true" CodeBehind="VisualWebPart1UserControl.ascx.cs" Inherits="RenameNameSpace.VisualWebPart1.VisualWebPart1UserControl" %>

Файла източник: /_CONTROLTEMPLATES/RenameNameSpace/VisualWebPart1/VisualWebPart1UserControl.ascx    Линия: 8


Информация за версията: Microsoft .NET Framework версия:2.0.50727.4927; ASP.NET версия:2.0.50727.4927

Редактиране на .ascx файла директно и да определи счупени пространство на имената.

В този момент, Най-накрая имах уеб част живеят в пространството на имената на моя избор.

</край>

Абонирайте се за моя блог.

Следвайте ме на Twitter в http://www.twitter.com/pagalvin

Една мисъл на тема "Преименуване на уеб част имена (Или, Една от причините за "уеб компонент или контрола за уеб формуляр на тази страница не може да се покажат или импортират)”

  1. Pingback: Tweets в които се споменава Преименуване на уеб част имена (Или, Една от причините за "уеб компонент или контрола за уеб формуляр на тази страница не може да се покажат или импортират)"«Павел Галвин SharePoint пространство -- Topsy.com

Оставете отговор

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани *