Lösung: System.IO.FileNotFoundException auf “SPSite = neue SPSite(URL)”

UPDATE: Ich diese Frage hier zu MSDN geschrieben (http://forums.microsoft.com/Forums/ShowPost.aspx?PostID=2808543&SiteID=1&mode=1) und Michael Washam von Microsoft reagierte mit einer kurzen Antwort.

Ich habe einen Web Service zu handeln als ein BDC-freundlichen Fassade auf einer SharePoint-Liste. Wenn ich dies aus meiner Entwicklungsumgebung gebraucht, Es wirkten Bußgeld. Wenn ich dies auf einen neuen Server migriert, Dieser Fehler:

System.IO.FileNotFoundException: Die Web-Anwendung auf http://localhost/sandbox konnte nicht gefunden werden. Überprüfen Sie, ob Sie die URL richtig eingegeben haben. Wenn die URL vorhandenen Inhalte dienen sollte, der Systemadministrator möglicherweise müssen Sie eine neue Anfrage-URL-Zuordnung der gewünschten Anwendung hinzufügen. bei Microsoft.SharePoint.SPSite...ctor(SPFarm Bauernhof, URI requestUri, Boolesche contextSite, SPUserToken userToken) bei Microsoft.SharePoint.SPSite...ctor(String requestUrl) bei Conchango.xyzzy.GetExistingDocument(Zeichenfolge minId, Zeichenfolge maxId, String titleFilter) in c:\Dokumente und SettingsPaulMy DateienVisual Studio 2005ProjectsxyzzyBDC_DocReviewBDC_DocReviewDocReviewFacade.asmx.cs:Linie 69

Hier ist 69:

Verwendung (SPSite Site = neue SPSite("http://localhost/sandbox"))

Ich habe versucht verschiedene Variationen über die URL, einschließlich der Verwendung von real-Namen des Servers, Ihre IP-Adresse, nachgestellte Schrägstriche in der URL, usw.. Ich habe immer diesen Fehler.

Ich habe Die Google es Forschung. Viele Menschen stellen diese Frage, oder Varianten davon, aber niemand schien es gelöst haben.

Tricksy MOSS bereitgestellten eine detaillierte Fehler, die es nicht, um mich auftreten zu prüfen, die 12 Bienenkorb-Protokolle. Schließlich, über 24 Stunden nach Mein Kollege empfohlen, dass ich das tun, Ich überprüfte die 12 Struktur Protokoll und fanden diese:

Die lokale Farm zu erwerben ist eine Ausnahme aufgetreten.:
System.Security.SecurityException: Angeforderte Registrierungszugriff ist nicht zulässig..
bei System.ThrowHelper.ThrowSecurityException(ExceptionResource Ressource) bei Microsoft.Win32.RegistryKey.OpenSubKey(Zeichenfolgennamen, Boolean beschreibbar) bei Microsoft.Win32.RegistryKey.OpenSubKey(Zeichenfolgennamen) bei Microsoft.SharePoint.Administration.SPConfigurationDatabase.get_RegistryConnectionString() bei Microsoft.SharePoint.Administration.SPConfigurationDatabase.get_Local() bei Microsoft.SharePoint.Administration.SPFarm.FindLocal(SPFarm& Bauernhof, Boolean& isJoined)
Die Zone der Assembly, die fehlgeschlagen war.:  MyComputer

Dies eröffnet neue Wege der Forschung, So war es zurück zu Google. Das führte mich zu diesem Beitrag im Forum: http://Forums.CodeCharge.com/Posts.php?Post_id = 67135. Das half mir nicht wirklich, aber es wurde gestartet, macht mich glaube, es war ein Datenbank- und/oder Sicherheit Problem. Ich festgelötet auf und Andrew Connell Post-der Gedanke, dass ich dafür sorgen sollten, dass der Anwendungspool Identitätskonto Zugriff auf die Datenbank hatte schließlich ausgelöste. Ich dachte, dass es bereits Tat. Jedoch, Mein Kollege ging und gab den app Pool Identität Konto vollen Zugriff auf SQL.

Sobald sie diese Änderung vorgenommen, Alles begann.

Was geschah als nächstes am besten ist ausgedrückt als eine Haiku Gedicht:

Probleme erheben ihre Hände.
Sie schwingen und verpassen. Wiederholen.
Erfolg! Aber wie? Warum?

Sie wollte nicht, wie die Dinge allein lassen, lieber geben Sie die mindestens erforderliche Berechtigung (und wahrscheinlich mit Blick auf einen Blog-Eintrag zu schreiben; Ich schlug sie auf den Stempel, muhahahahaha!).

Aufeinander folgende Berechtigungen entfernt sie die app-Anwendungspool-Identitätskonto bis … Es gab nicht mehr jede explizite Berechtigung für das Konto der Anwendungspoolidentität app überhaupt. Der Webdienst weiter gut funktionieren.

Wir gingen und die Server neugestartet. Alles weiterhin gut funktionieren.

Also, zur Erinnerung: Wir gaben den vollen Zugang zum app Pool Identität und dann nahm es fort. Der Webdienst gestartet, arbeiten und nie aufgehört zu arbeiten. Bizarre.

Wenn jemand weiß, warum, die gearbeitet haben, sollten, Bitte terlassen Sie einen Kommentar hin.

</Ende>

Technorati Tags:

11 Gedanken zu „Lösung: System.IO.FileNotFoundException auf “SPSite = neue SPSite(URL)”

  1. Fernando Gómez Flores

    Post-Nizza, Vielen Dank. In meinem Fall, Mein Problem wurde gelöst, indem Sie ändern die Webservice Apppool zu entsprechen, die von der Sharepoint-Websitesammlung.

    Prost,
    Fernando A. Gómez F.

    Antwort
  2. Wilson Edgar

    Hallo, Ich hatte auch das gleiche problem. Bei der Entwicklung auf dem gleichen Computer mit Sharepoint Server, Ich benutzte Asp Development Server mit unterschiedlichen Berechtigungen nicht sicherlich nicht unter der gleichen Identität wie sharepoint (Weitere Informationen hier: http://msdn.microsoft.com/en-us/library/58wxa9w5(KÖNNEN).aspx) Na und, Ich habe eine neue Website in IIS erstellen (Hafen 8080) mit der gleichen Identität wie Sharepoint.. und voila.
    Hope this helps

    Antwort
  3. Zac Boyles
    Es gibt eine gute Chance, die SQL Serverrolle securityadmin das Problem behoben, die, das Sie hatten, nachdem es ausgeführt wurde. Das wäre eine gute Erklärung dafür weiterhin arbeiten.
    Antwort
  4. Faery

    Interessanten Kommentar. Wir haben jetzt genau das gleiche Problem. Diese Art von Problem und unerwartete/unerklärliche Verhalten ist genau, warum viele Entwickler nicht ausstehen kann arbeiten mit SharePoint!

    Antwort
  5. Markus

    Dieser Teil des Artikels….”SQL app Pool Identität Konto Vollzugriff gegeben”, Sie können näher? “App-Anwendungspoolidentität” Ich nehme an, bedeutet den app-Pool der Sharepoint-Website, aber “vollen Zugriff auf SQL”, wie gibst du das? Erstellen eines Anmeldenamens auf dem Db-Server für die Identität des Anwendungspools app denke ich ist nicht genug…So ist es auf dem Sharepoint Content Db, wo der neue Anmeldename Dbo wird (?) Zugang? Oder anderen Sharepoint Db sowie, wie die Config db? Für mich, das ist hart, Da meine sp Inhalte Db offenbar von Sql Server-Instanz behandelt ist nicht, Offenbar ist es unter “/Microsoft Office Servers/14.0/Data”, wie auch immer sehe ich es nicht in Sql Server-Manager….irgendwelche Ideen, wie man geben “vollen Zugriff auf SQL” in diesem Fall? Keine Antwort wäre dankbar…Ich habe meine Konsole app zum Erstellen eines Spsite-Objekts stecken!!

    Antwort

Lassen Sie eine Antwort auf Benjamin Antwort verwerfen

Deine Email-Adresse wird nicht veröffentlicht. erforderliche Felder sind markiert *