Ratkaisu: System.IO.FileNotFoundException “SPSite = uusi SPSite(URL-osoite)”

PÄIVITYS: I lähetetty tähän kysymykseen tässä MSDN (http://forums.microsoft.com/Forums/ShowPost.aspx?PostID=2808543&SiteID=1&mode=1) ja Michael Washam Microsoft vastasi ytimekäs vastaus.

Olen luonut web-palveluun, toimia BDC-friendly julkisivu SharePoint-luetteloon. Kun olen käyttänyt tätä minun kehitysympäristö, se toimi moitteettomasti. Kun olen siirtänyt tämän uuteen palvelimeen, Olen havainnut tämän virheen:

System.IO.FileNotFoundException: Web-sovellus http://localhost/sandbox ei löytynyt. Varmista, että URL on kirjoitettu oikein. Jos URL-osoitteen tulisi tarjota aiemmin luotua sisältöä, järjestelmänvalvoja on ehkä lisättävä sovellukseen uusi pyynnön URL-yhdistämismääritys. klo Microsoft.SharePoint.SPSite...ctor(SPFarm-maatila, URI-requestUri, Boolean contextSite, SPUserToken userToken) klo Microsoft.SharePoint.SPSite...ctor(Merkkijono requestUrl) klo Conchango.xyzzy.GetExistingDocument(Merkkijono minId, Merkkijono maxId, Merkkijono titleFilter) c:\Asiakirjojen ja SettingsPaulMy DocumentsVisual Studio 2005ProjectsxyzzyBDC_DocReviewBDC_DocReviewDocReviewFacade.asmx.cs:rivi 69

Tässä on line 69:

käyttäminen (SPSite-sivuston = uusi SPSite("http://localhost/sandbox"))

Olen kokeillut erilaisia muunnelmia URL, myös käyttämällä todellinen palvelinnimi, IP-osoitteen, perään vinoviiva URL, jne. Olen aina saanut tämän virheen.

Käytin Google jotta tutkia se. Paljon ihmisiä kohtaamaan tämän ongelman, tai muunnelmia, mutta ei kukaan näyttänyt saada se ratkaistu.

Tricksy MOSS jos esittää tarkasti erehdys että se ei tapahdu minun tarkistaa, 12 rakenteen lokit. Lopulta, tietoja 24 tunnin kuluttua kollegani Suositellut sitä, Olen kassalla 12 Hive loki ja löysin tämän:

Poikkeus haettaessa paikallisen maatilan:
System.Security.SecurityException: Pyydettyjä rekisterinkäyttöoikeuksia ei sallita.
klo System.ThrowHelper.ThrowSecurityException(ExceptionResource resurssi) klo Microsoft.Win32.RegistryKey.OpenSubKey(Merkkijonon nimi, Totuusarvo voi kirjoittaa) klo Microsoft.Win32.RegistryKey.OpenSubKey(Merkkijonon nimi) klo Microsoft.SharePoint.Administration.SPConfigurationDatabase.get_RegistryConnectionString() klo Microsoft.SharePoint.Administration.SPConfigurationDatabase.get_Local() klo Microsoft.SharePoint.Administration.SPFarm.FindLocal(SPFarm& Farm, Totuusarvo& isJoined)
Epäonnistuneen kokoonpanon alueella oli:  Oma tietokone

Tämä avasi uusia mahdollisuuksia tutkimuksen, joten se oli takaisin Google. Tämä johti minut tähän Forum viesti: http://forums.codecharge.com/Posts.php?post_id = 67135. Eipä siitä juuri apua minulle, mutta se alkaa tehdä minut ajattelemaan, oli tietokannasta ja/tai turvallisuuden kysymys. Olen soldiered ja Andrew Connell Post vihdoin laukaisi ajatus, että minun pitäisi tehdä varma, että sovellussarjan tunnistetiedon tilinä oli asianmukainen pääsy tietokantaan. Ajattelin, että se on jo tehnyt. Kuitenkin, kollegani meni ja antoi app allas identiteetin tilin täydet käyttöoikeudet SQL.

Heti, kun hän teki muutos, Kaikki aloitti.

Mitä tapahtui seuraavaksi on paras Haiku runo:

Ongelmia nostaa kätensä.
Swing ja ikävä. Yritä uudestaan.
Menestys! Mutta miten? Miksi?

Hän ei halunnut jättää yksin tuollaista, mieluummin antaa tarvittava vähimmäisoikeus (ja todennäköisesti perusteellisesti kirjoittaa blogimerkinnän; Ehkä häntä booli, muhahahahaha!).

Hän poistaa peräkkäisten käyttöoikeudet app allas identiteetin tililtä … ei ollut enää mitään nimenomaista lupaa app allas tunnistetiedon tilinä ollenkaan. Web-palvelun jatkoi hienosti.

Menimme ja käynnistetään palvelimet. Kaikki edelleen toimivat hyvin.

Niin, kertaus: annoimme app allas identiteetin täydet ja sitten vei. Web-palvelun aloitti ja koskaan lakkasi toimimasta. Outo.

Jos joku tietää, miksi se olisi toiminut, Jätä kommentti.

</loppu>

Technorati Tags:

11 ajatuksia ”Ratkaisu: System.IO.FileNotFoundException “SPSite = uusi SPSite(URL-osoite)”

  1. Fernando Gómez Flores

    Arka asettaa, Kiitos. Minun tapauksessani, minun arvoitus ratkaista muuttamalla webservice sovellussarjan mukaiseksi sharepoint-sivustokokoelma.

    Kippis,
    Fernando A. Gómez F.

    Vastaus
  2. Wilson Edgar

    Moikka, Minulla oli myös sama ongelma. Samalla kehittäen samalla koneella sharepoint Server, Käytin Asp kehitys-palvelin ei varmasti ole käynnissä sharepoint identiteetin eri luvalla (Lisää tästä täällä: http://msdn.microsoft.com/en-us/library/58wxa9w5(VS.80).aspx) Entä sitten, Olen luoda uuden sivuston IIS (Port 8080) samoilla tunnistetiedoilla kuin sharepoint.. ja voila.
    Toivottavasti tämä auttaa

    Vastaus
  3. Faery

    Mukava kirjailla. Meillä on täsmälleen samaa asiaa nyt. Tällainen ongelma ja odottamaton/selittämätön käyttäytyminen on syy siihen, miksi monet kehittäjät kestä käsitteleminen SharePoint!

    Vastaus
  4. Markus

    Tämä osa artikkelin….”antoi app allas identiteetin tilin täydet käyttöoikeudet SQL”, Voitko tarkentaa? “sovelluksen tunnistetiedot” Oletan, että tarkoittaa sovellussarjaa sharepoint-sivustoon, Mutta “täysi pääsy SQL”, Miten annat että? Kirjautumisen luominen app allas identiteetin mielestäni db-palvelimessa ei ole aivan tarpeeksi…Joten onko sharepoint sisällön db, jossa uusi käyttäjätunnus saa dbo (?) Access? Tai muiden sharepoint db: n sekä, kuten config-db? Minulle, että on kova, sillä minun sp sisällön te ilmeisesti ei ole sql-palvelinesiintymä, ilmeisesti se on “/Microsoft Officen Servers/14.0/Data”, joka tapauksessa et löydä sitä sql server mgr….mitään ideoita miten antaa “täysi pääsy SQL” Tässä tapauksessa? Kaikki vastaus olisi arvostettu…Olen sellainen jumissa, saada minun konsoli app spsite-objektin luominen!!

    Vastaus

Jätä vastaus Benjamin Peruuta vastaus

Sähköpostiosoitettasi ei julkaista. pakolliset kentät on merkitty *