Ho lavorato per ottenere il mio braciole dev indietro e a tal fine, lavorando su un progetto di collezionisti che ha i seguenti bit:
-
Connessione web part che riceve un sito o un URL della raccolta siti da un fuori dalla scatola web part di SharePoint filtro di testo.
-
Questa web part cerca tutte le informazioni il sito selezionato, genera un pacchetto XML e hands off a WP un'altra pagina (tramite connessioni).
-
3parte web Rd riceve i dati XML e fa alcuni XSL trasformare la roba.
Ho voluto rinominare spazio dei nomi di tutti i bit a "Nivlag" e sono stato sempre colpito con il seguente errore quando distribuito la web part per il mio ambiente di test:
Una Web Part o controllo Form Web su questa pagina non può essere visualizzato o importato. Il tipo non è stato trovato o non è registrato come sicuro.
Questo è il problema di un principiante, ma ho pensato che sarebbe buttar giù una nota su questo comunque. Ha causato l'errore quando selezionata sul spazio dei nomi predefinito (che insolute al nome del progetto), selezionato refactoring e quindi Rinomina in questo modo:
Che ha fatto rinominare le cose in un mucchio di posti nel progetto, ma non è sufficiente. È inoltre necessario apportare diversi altri adattamenti:
1. Aprire e modificare un file manualmente, "ShaerPointProjectItem.spdata". Che un XML file che ha un <SafeControls> sezione. La funzione rename dello spazio dei nomi non è consapevole di questo file per una qualunque ragione, quindi è necessario aggiornare manualmente il Namespace ci.
2. Modificare manualmente il file WebPart. Per qualunque ragione, Visual Studio non cambia questo riferimento uno o l'altro. Modifica il "<tipo>"nodo per riflettere lo spazio dei nomi modificato ci.
3. Infine, a seconda di come si refactoring la modifica dello spazio dei nomi, Visual studio possa anche aggiornato la stringa a cui fa riferimento il file con estensione ascx qui:
private const string _ascxPath = @ "~/_CONTROLTEMPLATES … …
Potrebbe essere necessario cambiare quella indietro. You'll perché si otterrà un messaggio di errore simile al seguente quando si tenta e aggiungere la web part per un'area di web part su una pagina:
Errore del server in ' /’ Applicazione.
Il file ' /_CONTROLTEMPLATES/Nivlag/VisualWebPart1/VisualWebPart1UserControl.ascx’ non esiste.
Descrizione: Si verificata un'eccezione non gestita durante l'esecuzione della richiesta web corrente. Si prega di rivedere la traccia dello stack per ulteriori informazioni sull'errore e dove ha avuto origine nel codice.
Informazioni dettagliate sull'eccezione: System.Web.HttpException: Il file ' /_CONTROLTEMPLATES/Nivlag/VisualWebPart1/VisualWebPart1UserControl.ascx’ non esiste.
Errore di fonte:
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.
Difficoltà il riferimento c'e si dovrebbe essere buona per andare.
4. Infine, il file ASCX effettivo aveva ancora un riferimento (per me) spazio dei nomi originali vecchi (la funzione refactor/rinominare non risolvere il problema). Saprete su questo errore quando si tenta e aggiungere la web part nella pagina e viene visualizzato il seguente messaggio:
Errore del server in ' /’ Applicazione.
Errore del parser
Descrizione: Si è verificato un errore durante l'analisi di una risorsa necessaria per questa richiesta. Si prega di rivedere i seguenti dettagli errore parse specifici e modificare i file di origine in modo appropriato.
Messaggio di errore del parser: Impossibile caricare il tipo 'RenameNameSpace.VisualWebPart1.VisualWebPart1UserControl'.
Errore di fonte:
Linea 6: <%@ Import Namespace="Microsoft.SharePoint" %> Linea 7: <%@ Register Tagprefix = "WebPartPages" Namespace="Microsoft.SharePoint.WebPartPages" Assembly="Microsoft.SharePoint, Versione = 14.0.0.0, Cultura = neutral, PublicKeyToken = 71e9bce111e9429c" %> Linea 8: <%@ Control Language = "c#" AutoEventWireup = "true" CodeBehind="VisualWebPart1UserControl.ascx.cs" Inherits="RenameNameSpace.VisualWebPart1.VisualWebPart1UserControl" %>File di origine: /_CONTROLTEMPLATES/RenameNameSpace/VisualWebPart1/VisualWebPart1UserControl.ascx Linea: 8
Informazioni sulla versione: Microsoft.NET Framework versione:2.0.50727.4927; ASP.NET versione:2.0.50727.4927
Modificare direttamente il file con estensione ascx e Difficoltà lo spazio dei nomi rotto.
A questo punto, Ho finalmente avuto una web part che vivono nello spazio dei nomi della mia scelta.
</fine>
Seguimi su Twitter a http://www.twitter.com/pagalvin