Løsning: System.io.FileNotFoundException på “SPSite = ny SPSite(URL-adresse)”

OPPDATERINGEN: Jeg postet dette spørsmålet til MSDN her (http://forums.microsoft.com/Forums/ShowPost.aspx?PostID=2808543&SiteID=1&mode=1) og Michael Washam av Microsoft svarte med et kort svar.

Jeg opprettet en webtjeneste til å fungere som en BDC-vennlig fasaden til en SharePoint-liste. Når jeg brukte dette fra min utviklingsmiljø, den arbeidet fin. Når jeg overført dette til en ny server, Jeg har møtt denne feilen:

System.io.FileNotFoundException: Web-applikasjonen i http://localhost/sandbox Finner ikke. Kontroller at du har skrevet inn URL-Adressen på riktig måte. Hvis URL-Adressen skal være serverer eksisterende innhold, systemansvarlig må kanskje legge til en ny URL-adressetilordning for forespørsel til det tiltenkte programmet. på Microsoft.SharePoint.SPSite...konstruktør(SPFarm gård, URI-requestUri, Boolsk contextSite, SPUserToken userToken) på Microsoft.SharePoint.SPSite...konstruktør(Streng requestUrl) på Conchango.xyzzy.GetExistingDocument(Streng minId, Streng maxId, Streng titleFilter) i c:\Dokumenter og SettingsPaulMy DocumentsVisual Studio 2005ProjectsxyzzyBDC_DocReviewBDC_DocReviewDocReviewFacade.asmx.cs:linje 69

Her er linjen 69:

ved hjelp av (SPSite-området = ny SPSite("http://localhost/sandbox"))

Jeg prøvde forskjellige varianter på URL-Adressen, inkludert bruk av serverens virkelige navn, IP-adressen, etterfølgende skråstrek på URL-Adressen, osv.. Jeg fikk alltid det feilen.

Jeg brukte Google forskning det. Masse folk ansikt problemet, eller varianter av det, men syntes ingen å ha den løste.

Tricksy MOSS gitt slike en detaljert feil som det ikke oppstår for meg å sjekke det 12 strukturen logger. Til slutt, om 24 timer etter min kollega anbefalt jeg gjør det, Jeg sjekket ut den 12 hive logg og fant dette:

Det oppstod et unntak under forsøk på å opprette den lokale farmen:
System.Security.SecurityException: Forespurt registertilgang tillatt ikke.
ved System.ThrowHelper.ThrowSecurityException(ExceptionResource ressurs) ved Microsoft.Win32.RegistryKey.OpenSubKey(Strengnavn, Boolsk skrivbar) ved Microsoft.Win32.RegistryKey.OpenSubKey(Strengnavn) ved Microsoft.SharePoint.Administration.SPConfigurationDatabase.get_RegistryConnectionString() ved Microsoft.SharePoint.Administration.SPConfigurationDatabase.get_Local() ved Microsoft.SharePoint.Administration.SPFarm.FindLocal(SPFarm& gården, Boolsk& isJoined)
Sonen for samlingen som mislyktes var:  MinDatamaskin

Dette åpnet nye muligheter for forskning, så det var tilbake til The Google. Som førte meg til dette forum stolpe: http://Forums.codecharge.com/posts.php?post_id = 67135. Som ikke virkelig hjelpe meg, men det starte gjør meg tror det var en database og/eller sikkerhet problemet. Jeg soldiered og Andrew Connell legge til slutt utløste tanken at jeg må kontrollere at programutvalget identitet kontoen hadde riktig tilgang til databasen. Jeg trodde det allerede gjorde. Men, Min kollega gikk og ga app pool identitet konto full tilgang til SQL.

Så snart hun har gjort denne endringen, Alt begynte.

Hva skjedde neste beste uttrykkes som en Haiku diktet:

Problemer heve sine hender.
Du swing og miss. prøv igjen.
Suksess! Men hvordan? hvorfor?

Hun ønsker ikke å la ting være sånn, foretrakk å gi minimumstillatelsen som kreves (og sannsynligvis bruke skrive en bloggoppføring; Jeg slo henne til slag, muhahahahaha!).

Hun fjernet etterfølgende tillatelser fra den app identitet-kontoen for programutvalg til … Det var ikke lenger eksplisitt tillatelse for app pool identitet kontoen på alle. Webtjenesten fortsatte å fungere.

Vi gikk og gjenstartet servere. Alt arbeidet fin.

Så, til oppsummering: Vi ga app pool identitet full tilgang og deretter tok det bort. Webtjenesten begynte å jobbe og aldri sluttet å virke. Bisarre.

Hvis noen vet hvorfor som bør har jobbet, Legg igjen en kommentar.

</slutten>

Technorati Merkelapper:

11 tanker om “Løsning: System.io.FileNotFoundException på “SPSite = ny SPSite(URL-adresse)”

  1. Fernando Gómez Flores

    Hyggelig stolpe, takk. I mitt tilfelle, mitt problem var løste av skiftende den webservice applikasjonsutvalget til sharepoint-områdesamling.

    Ha det,
    Fernando A. Gómez F.

    Svar
  2. Wilson Edgar

    hei, Jeg hadde også det samme problemet. Mens utviklingen på samme maskin med sharepoint server, Jeg brukte Asp Development Server med ulike tillatelse ikke sikkert ikke kjører under samme identitet som sharepoint (mer om dette her: http://msdn.microsoft.com/en-us/library/58wxa9w5(VS.80).aspx) hva så, Jeg har lage et nytt nettsted i IIS (port 8080) med samme identitet som sharepoint.. og voila.
    Håp dette hjelper

    Svar
  3. Zac Boyles
    Det er en god sjanse for at SQLS securityadmin-serverrollen løst problemet du har når den var løp. Det ville være en god forklaring for det fortsetter å arbeide.
    Svar
  4. Faery

    Fin writeup. Vi har akkurat det samme problemet nå. Denne typen problem og uventet/uforklarte atferd er nøyaktig hvorfor mange utviklere ikke orker å arbeide med SharePoint!

    Svar
  5. Markus

    Denne delen av artikkelen….”ga app pool identitet kontoen full tilgang til SQL”, Du kan utdype? “identitet for programutvalg for App” Jeg antar betyr applikasjonsutvalget for sharepoint-området, men “full tilgang til SQL”, Hvordan gir du det? Hvis du oppretter en pålogging på db serveren for app pool identitet jeg tror ikke nok…så er det på sharepoint innhold db hvor nye påloggingen får dbo (?) tilgang? Eller andre sharepoint db's også, slik config db? For meg som er tøft, fordi min sp innhold db tilsynelatende ikke håndteres av sql server-forekomst, Angivelig er det under “/Microsoft Office Servers/14.0/Data”, Allikevel ser jeg ikke det i sql server mgr….noen ideer hvordan jeg gi “full tilgang til SQL” i dette tilfellet? Alle svar ville være verdsatt…Jeg er slags fast får min konsollen app opprette et spsite-objekt!!

    Svar

legg igjen et svar

e-postadressen din vil ikke offentliggjøres. Obligatoriske felt er merket *