Renomeando Namespaces web Part (Ou, Unha das razóns para "A web Part ou control de formulario web, nesta páxina non pode ser amosado ou importado)”

Eu teño a traballar para chegar en miñas costelas dev cara atrás e para ese fin, traballando nun proxecto hobby que ten os seguintes bits:

  • Conectado parte da web que recibe un sitio web ou URL do conxunto de sitios web a partir dun fóra da caixa de texto SharePoint web Part de filtro.
  • Esta parte web mira cara arriba toda a información sobre o sitio web do seleccionado, xera un paquete XML e entrega-la a outro WP na páxina (a través de ligazóns).
  • 3ª parte da rede recibe o XML e fai algunhas cousas transformación XSL.

Eu quería cambiar o nome do espazo de nomes de todos os bits a "Nivlag" e eu fun atropelado co seguinte erro cando implantei a parte da web para  meu ambiente de proba:

Unha web Part ou control de formulario web, nesta páxina non pode ser amosado ou importado.  O tipo non se puido atopar ou non está rexistrado como seguro.

Este é un problema de novato, pero eu penso que eu ía anotar unha nota sobre iso de calquera maneira.  Eu causou o erro cando prema co botón dereito do espazo de nomes por defecto (que a omisión do nome do proxecto), seleccionado Refatorar e cambiar o nome como así:

image

Isto cambiou o seu nome as cousas de unha chea de lugares no proxecto, pero non é suficiente.  Tamén cómpre facer outros axustes:

1. Manualmente abrir e editar un ficheiro, "ShaerPointProjectItem.spdata". Que un arquivo XML que ten un <SafeControls> sección.  A función rename namespace non ten coñecemento deste arquivo por calquera motivo, entón tes que actualizar o espazo de nomes alí a man.

2. Editar manualmente o ficheiro. Webpart.  Por algunha razón, Visual Studio non cambiar esa referencia tamén.  Cambia o "<tipo>"O para reflectir o seu espazo de nomes cambiou alí.

3. Por fin, dependendo de como refatorados o cambio namespace, Visual Studio tamén poden ter actualizado a cadea que fai referencia ao seu arquivo ascx. Aquí:

const privada cadea _ascxPath = @ "do ~ / _CONTROLTEMPLATES ......

Pode cambiar o que dixo.  Vai xa vai recibir un erro semellante á seguinte cando tentar engadir a web Part a unha zona de Web Parts nun  páxina:

Server Error in ‘/’ Aplicación.


O ficheiro '/_CONTROLTEMPLATES/Nivlag/VisualWebPart1/VisualWebPart1UserControl.ascx’ non existe.

Descrición: Unha excepción non tratada durante a execución da actual solicitude da web. Examina o seguimento de pila para obter máis información sobre o erro e onde foi orixinado no código.
Detalles da Excepción: System.Web.HttpException: O ficheiro '/_CONTROLTEMPLATES/Nivlag/VisualWebPart1/VisualWebPart1UserControl.ascx’ non existe.
Erro de Orixe:

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.

 

Corrixir a referencia alí e ten que ser bo para ir.

4. Por fin, o arquivo ASCX real aínda tiña unha referencia (para min) ao espazo de nomes antiga e orixinal (a función refatorar / rename non corrixir ese).  Vostede sabe sobre este erro cando tentar engadir a web Part á páxina e recibín a seguinte mensaxe:

Server Error in ‘/’ Aplicación.


Erro do analizador

Descrición: Houbo un erro durante a análise dun recurso necesario para atender esta solicitude. Examina os detalles específicos do erro de análise e modificar o seu ficheiro de orixe apropiadamente.
Mensaxe de erro Parser: Non se puido cargar o tipo 'RenameNameSpace.VisualWebPart1.VisualWebPart1UserControl'.
Erro de Orixe:

Liña 6:  <%@ Import Namespace = "Microsoft.SharePoint" %> 
Liña 7:  <%@ Register TagPrefix = "WebPartPages" Namespace = "Microsoft.SharePoint.WebPartPages" Assembly = "Microsoft.SharePoint, Version = 14.0.0.0, Culture = neutral, PublicKeyToken = 71e9bce111e9429c" %>
Liña 8:  <%@ Control Language = "C #" AutoEventWireup = "true" CodeBehind = "VisualWebPart1UserControl.ascx.cs" Inherits = "RenameNameSpace.VisualWebPart1.VisualWebPart1UserControl" %>

Arquivo de Orixe: /_CONTROLTEMPLATES/RenameNameSpace/VisualWebPart1/VisualWebPart1UserControl.ascx    Liña: 8


Información sobre a versión: Microsoft. Net Framework:2.0.50727.4927; Versión de ASP.NET:2.0.50727.4927

Edite o ficheiro. Ascx directamente e corrixir a namespace roto.

Neste punto, Finalmente tiven unha vida de parte da Rede no espazo de nomes da miña elección.

</final>

Rexístrate para o meu blog.

Siga-me no Twitter http://www.twitter.com/pagalvin

Un pensamento sobre "Renomeando Namespaces web Part (Ou, Unha das razóns para "A web Part ou control de formulario web, nesta páxina non pode ser amosado ou importado)”

  1. Pingback: Tweets that mention Renomear Namespaces de Web Parts (Ou, Unha das razóns para "A web Part ou control de formulario web, nesta páxina non pode ser amosado ou importado)SharePoint Space "« Paul Galvin -- Topsy.com

Deixe unha resposta

Enderezo de correo electrónico non será publicado. Os campos obrigatorios están marcados *