Jeg har jobbet for å få min dev koteletter tilbake og som avslutter, arbeider på en hobby prosjekt som har følgende biter:
-
Tilkoblede webdelen som mottar et område eller en URL-adresse for område-samlingen fra en ute av boksen tekstfilter for SharePoint-webdel.
-
Denne webdelen slår opp alle info den valgte området, genererer en XML-pakke og hender det av til en annen WP på siden (via-tilkoblinger).
-
3Rd-webdelen mottar XML og gjør noen XSL-transformering ting.
Jeg ønsket å gi nytt navn til navneområde på alle biter til "Nivlag", og jeg var å komme hit opp med følgende feil når jeg distribuert webdelen til min testmiljø:
En webdel eller webskjemakontroll på denne siden kan ikke vises eller importeres. Typen ble ikke funnet, eller den er registrert ikke som sikre.
Dette er en nybegynners problem, men jeg trodde jeg ville døyt ned et notat om dette likevel. Jeg forårsaket feilen når jeg høyreklikket på standard-navneområde (som som standard prosjektnavnet), valgte Refactor og deretter gi nytt navn på denne måten:
Som gi nytt navn ting i en rekke steder i prosjektet, men det er ikke nok. Du må også gjøre flere andre justeringer:
1. Åpne og redigere en fil manuelt, "ShaerPointProjectItem.spdata". At en XML-fil som har en << SafeControls> delen. Navneområdet rename-funksjonen er ikke klar over denne filen uansett grunn, så må du oppdatere Namespace det manuelt.
2. Hvis du vil redigere *.WebPart filen manuelt. Uansett grunn, Visual Studio endrer ikke denne referansen enten. Endre den "<type>"node for å gjenspeile de endrede navneområdet det.
3. Til slutt, avhengig av hvordan du refactored navneområdet endre, Visual studio kan også oppdatert strengen som refererer til .ascx-fil her:
private const streng _ascxPath = @ "~/_CONTROLTEMPLATES ……
Du må kanskje endre som tilbake. Du vil, fordi du får en feilmelding lik følgende når du prøve å legge til webdelen til en webdel-sone på en siden:
Serverfeil inne ' /’ Program.
Filen ' /_CONTROLTEMPLATES/Nivlag/VisualWebPart1/VisualWebPart1UserControl.ascx’ finnes ikke.
Beskrivelse: Det oppstod et ubehandlet unntak under kjøring av gjeldende webforespørsel. Gå gjennom stakksporingen hvis du vil ha mer informasjon om feilen og hvor den oppstod i koden.
Unntaksdetaljer: System.Web.HttpException: Filen ' /_CONTROLTEMPLATES/Nivlag/VisualWebPart1/VisualWebPart1UserControl.ascx’ finnes ikke.
Kildefeil:
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.
Fikse referansen det, og du bør være godt å gå.
4. Til slutt, den faktiske ASCX filen fortsatt hadde en referanse (for meg) i gamle opprinnelige navneområdet (refactor/rename-funksjonen fastsette ikke denne). Du vil vite om denne feilen når du prøve og legge til webdelen på siden, og får følgende melding:
Serverfeil inne ' /’ Program.
Parserfeil
Beskrivelse: Det oppstod en feil under analysering av en ressurs som er nødvendig for å behandle denne forespørselen. Gå gjennom følgende bestemte feildetaljer og endre konfigurasjonsfilen på riktig måte.
Parserfeilmelding: Kan ikke laste typen 'RenameNameSpace.VisualWebPart1.VisualWebPart1UserControl'.
Kildefeil:
Linje 6: <%@ Importere Namespace="Microsoft.SharePoint" %>
Linje 7: <%@ Register Tagprefix = "webdel-sidene" Namespace="Microsoft.SharePoint.WebPartPages" Assembly="Microsoft.SharePoint, Versjon = 14.0.0.0, Culture = neutral, PublicKeyToken = 71e9bce111e9429c" %>
Linje 8: <%@ Control Language = "C#" AutoEventWireup = "true" CodeBehind="VisualWebPart1UserControl.ascx.cs" Inherits="RenameNameSpace.VisualWebPart1.VisualWebPart1UserControl" %>
Kildefilen: /_CONTROLTEMPLATES/RenameNameSpace/VisualWebPart1/VisualWebPart1UserControl.ASCX Linje: 8
Versjonsinformasjon: Microsoft.Framework versjon:2.0.50727.4927; ASP.NET-versjon:2.0.50727.4927
Redigere .ascx filen direkte og reparere brutte navneområdet.
På dette punktet, Jeg endelig hadde en webdel som bor i navneområdet med mitt valg.
</slutten>
Abonner på bloggen min.
Følg meg på Twitter på http://www.twitter.com/pagalvin