J'ai travaillé pour obtenir mes côtelettes de dev de retour et à cette fin, travail sur un projet de loisir qui a les bits suivants:
-
Composant WebPart connecté qui reçoit un site ou un site collection URL une hors de la zone de composant WebPart de filtre de texte SharePoint.
-
Ce composant WebPart recherche toutes les infos le site sélectionné, génère un paquet XML et remet au large d'un autre WP sur la page (via des connexions).
-
3WebPart rd reçoit le code XML et quelques XSL transforme stuff.
Je voulais vous renommez l'espace de noms de tous les bits de « Nivlag » et je m'obtenir frappé avec l'erreur suivante lorsque j'ai déployé le composant WebPart à mon environnement de test:
Un composant WebPart ou un contrôle de formulaire Web sur cette Page ne peut pas être affichée ou importé. Le type n'a pas pu être trouvé ou il n'est pas enregistré comme sûrs.
C'est le problème du débutant mais je pense que je serait griffonner une note à ce sujet en tout cas. J'a provoqué l'erreur lorsque je right-clicked sur l'espace de noms par défaut (qui par défaut pour le nom du projet), Refactoriser sélectionnée et puis renommer comme ceci:
Qui a fait renommer les choses dans un tas d'endroits dans le projet, mais il ne suffit pas. Vous devrez également plusieurs autres réglages:
1. Ouvrir et éditer un fichier manuellement, « ShaerPointProjectItem.spdata ». Que XML du fichier qui a un <SafeControls> article. La fonction rename espace de noms n'est pas au courant de ce fichier pour une raison quelconque, Si vous avez besoin mettre à jour manuellement de la Namespace il.
2. Modifier manuellement le fichier .webpart. Pour une raison quelconque, Visual Studio ne modifie pas cette référence soit. Changement de la »<type>« nœud afin de tenir compte de votre espace de noms modifié il.
3. Enfin, Selon la façon dont vous refactorisé le changement d'espace de noms, Visual studio peut avoir également mis à jour la chaîne qui fait référence à votre fichier .ascx ici:
Private const string _ascxPath = @ "~/_CONTROLTEMPLATES ……
Vous devrez peut-être changer cela en retour. Vous allez car vous obtiendrez une erreur semblable au suivant lorsque vous essayez et ajoutez le composant WebPart à une zone de la partie web sur un page:
Erreur de serveur dans ' /’ Application.
Le fichier ' /_CONTROLTEMPLATES/Nivlag/VisualWebPart1/VisualWebPart1UserControl.ascx’ n'existe pas.
Description: Une exception non gérée s'est produite pendant l'exécution de la requête web en cours. Veuillez consulter la trace de la pile pour plus d'informations sur l'erreur et où il a pris naissance dans le code.
Détails de l'exception: System.Web.HttpException: Le fichier ' /_CONTROLTEMPLATES/Nivlag/VisualWebPart1/VisualWebPart1UserControl.ascx’ n'existe pas.
Erreur de la source:
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.
Fixer la référence y et vous devriez être bon d'aller.
4. Enfin, le fichier ASCX avait toujours une référence (pour moi) l'espace de noms originaux anciens (la fonction de refactoriser/renommer n'a pas corriger cela). Vous savez sur cette erreur lorsque vous essayez ajoutez le composant WebPart à la page et le message suivant:
Erreur de serveur dans ' /’ Application.
Erreur de l'analyseur
Description: Une erreur s'est produite pendant l'analyse d'une ressource nécessaire à cette demande de service. Veuillez revoir les détails de l'erreur suivante analyse spécifique et modifier votre fichier de source de manière appropriée.
Message d'erreur analyseur: Pouvait pas charger le type « RenameNameSpace.VisualWebPart1.VisualWebPart1UserControl ».
Erreur de la source:
Ligne 6: <%@ Import Namespace="Microsoft.SharePoint" %>
Ligne 7: <%@ Register Tagprefix = "WebPartPages" Namespace="Microsoft.SharePoint.WebPartPages" Assembly="Microsoft.SharePoint, Version = 14.0.0.0, Culture = neutral, PublicKeyToken = 71e9bce111e9429c" %>
Ligne 8: <%@ Control Language = "C#" AutoEventWireup = "true" CodeBehind="VisualWebPart1UserControl.ascx.cs" Inherits="RenameNameSpace.VisualWebPart1.VisualWebPart1UserControl" %>
Fichier source: /_CONTROLTEMPLATES/RenameNameSpace/VisualWebPart1/VisualWebPart1UserControl.ascx Ligne: 8
Informations de version: Microsoft.NET Framework Version:2.0.50727.4927; ASP.NET Version:2.0.50727.4927
Modifier le fichier .ascx directement et régler l'espace de noms brisé.
À ce point, J'ai enfin eu un composant WebPart dans l'espace de noms de mon choix.
</fin>
S'abonner à mon blog.
Me suivre sur Twitter à http://www.twitter.com/pagalvin