Cambiar el nombre de espacios de nombres de parte de Web (O, Una razón para "un Control de formulario Web de esta página o el elemento Web no puede mostrarse o importado)”

He estado trabajando para conseguir mis chuletas dev vuelta y con ese fin, trabajando en un proyecto de afición que tiene los siguientes bits:

  • Elemento web conectado que recibe un sitio o URL del sitio colección desde fuera del cuadro elemento web de filtro de texto de SharePoint.
  • Este elemento web busca toda la información el sitio seleccionado, genera un paquete XML y lo entrega a otro WP en la página (a través de conexiones).
  • 3elemento web de RD recibe el XML y algunas XSL transformar cosas.

Quería cambiar el nombre del espacio de nombres de todos los bits a "Nivlag" y estaba recibiendo golpeo hacia arriba con el siguiente error cuando me desplego el elemento web  mi entorno de pruebas:

Un elemento Web o un Control de formulario Web en esta página no se muestra o importado.  No se encontró el tipo o no está registrado como seguro.

Esto es problema de un principiante, pero pensé que sería anotar una nota sobre esto de todos modos.  Causó el error cuando elegí en el espacio de nombres predeterminado (que forma predeterminada el nombre del proyecto), Refactor seleccionado y, a continuación, cambiar el nombre como tal:

image

Cambiar el nombre de las cosas en un montón de lugares en el proyecto, pero no es suficiente.  También necesita hacer varios otros ajustes:

1. Abrir y editar un archivo manualmente, "ShaerPointProjectItem.spdata". Que archivo XML tiene un <SafeControls> sección.  La función de cambio de nombre de espacio de nombres no es consciente de este archivo por cualquier motivo, por lo que es necesario actualizar manualmente el Namespace hay.

2. Editar manualmente el archivo .webpart.  Por cualquier motivo, Visual Studio no cambia ya sea esta referencia.  Cambio de la "<tipo>"nodo para reflejar el espacio de nombres cambiado allí.

3. Por último, dependiendo de cómo usted repartido el espacio de nombres cambie, Visual studio puede actualizar también la cadena que hace referencia el archivo .ascx aquí:

Private const string _ascxPath = @ "~/_CONTROLTEMPLATES......

Puede que necesite cambiar eso atrás.  Te vas porque obtendrá un error similar al siguiente cuando intente y agregue el elemento web a una zona de elementos web en un  página:

Error de servidor en ' /’ Aplicación.


El archivo ' /_CONTROLTEMPLATES/Nivlag/VisualWebPart1/VisualWebPart1UserControl.ascx’ no existe.

Descripción: Se produjo una excepción no controlada durante la ejecución de la solicitud web actual. Por favor revise el seguimiento de la pila para obtener más información acerca del error y dónde se originó en el código.
Detalles de la excepción: System.Web.HttpException: El archivo ' /_CONTROLTEMPLATES/Nivlag/VisualWebPart1/VisualWebPart1UserControl.ascx’ no existe.
Error de código fuente:

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.

 

Fijar la referencia allí y debe ser bueno para ir.

4. Por último, el archivo ASCX real todavía tenía una referencia (para mí) para el antiguo espacio de nombres original (la función de refactor/rename no solucionarlo).  Usted sabrá acerca de este error al intentar agregar el elemento web a la página y aparece el siguiente mensaje:

Error de servidor en ' /’ Aplicación.


Error del analizador

Descripción: Se produjo un error durante el análisis de un recurso necesario para esta solicitud de servicio. Por favor, revise los siguientes detalles de error de análisis específicos y modificar adecuadamente el archivo de origen.
Mensaje de Error del analizador: No se pudo cargar el tipo 'RenameNameSpace.VisualWebPart1.VisualWebPart1UserControl'.
Error de código fuente:

Línea 6:  <%@ Import Namespace="Microsoft.SharePoint" %> 
Línea 7:  <%@ Register Tagprefix = "WebPartPages" Namespace="Microsoft.SharePoint.WebPartPages" Assembly="Microsoft.SharePoint, Versión = 0, Cultura = neutral, PublicKeyToken = 71e9bce111e9429c" %>
Línea 8:  <%@ Control Language = "C#" AutoEventWireup = "true" CodeBehind="VisualWebPart1UserControl.ascx.cs" Inherits="RenameNameSpace.VisualWebPart1.VisualWebPart1UserControl" %>

Archivo de código fuente: /_CONTROLTEMPLATES/RenameNameSpace/VisualWebPart1/VisualWebPart1UserControl.ascx    Línea: 8


Información de versión: Microsoft.NET Framework versión:2.0.50727.4927; ASP.NET versión:2.0.50727.4927

Editar directamente el archivo .ascx y fijar el espacio de nombres roto.

En este punto, Finalmente tuve una WebPart que viven en el espacio de nombres de mi preferencia.

</final>

Suscribirse a mi blog.

Sígueme en Twitter en http://www.twitter.com/pagalvin

Un pensamiento en “Cambiar el nombre de espacios de nombres de parte de Web (O, Una razón para "un Control de formulario Web de esta página o el elemento Web no puede mostrarse o importado)”

  1. Pingback: Tweets that mention espacios de nombres de la parte de cambiar el nombre de Web (O, Una razón para "un Control de formulario Web de esta página o el elemento Web no puede mostrarse o importado)"«De Paul Galvin SharePoint espacio -- Topsy.com

Contesta

su dirección de correo electrónico no será publicada. Los campos necesarios están marcados *