2010-09-23 5 views
5

Ich versuche eine Instanz von SPSite auf dem Farmserver in einer Konsolenanwendung zu instanziieren und gebe die gesamte Website (http://sp2010/) ein. Ich stellte auch sicher, dass das Konto, auf dem MyApp.exe ausgeführt wird, der Websitesammlungsadministrator ist.FileNotFound Ausnahme mit Sharepoint 2010 mit dem SPSite Konstruktor

Ich kann jedoch keine Instanz von SPSite machen, was auch immer ich versuche zu tun. Ich gebe immer "FileNotFoundException" zurück.

Wer hat eine Idee?

Stacktrace:

System.IO.FileNotFoundException: Die Web-Anwendung auf http://localhost/sandbox konnte nicht gefunden werden. Stellen Sie sicher, dass Sie die URL richtig eingegeben haben. Wenn die URL vorhandenen Inhalt bereitstellen soll, muss der Systemadministrator möglicherweise eine neue Anforderungs-URL-Zuordnung zu der beabsichtigten Anwendung hinzufügen. Microsoft.SharePoint.SPSite..ctor (SPFarmfarm, Uri requestUri, Boolean contextSite, SPUserToken userToken) bei Microsoft.SharePoint.SPSite..ctor (String requestUrl) bei Conchango.xyzzy.GetExistingDocument (String minId, String maxId, String titleFilter) in C): \ Dokumente und Einstellungen \ Paul \ Eigene Dateien \ Visual Studio 2005 \ Projects \ xyzzy \ BDC_DocReview \ BDC_DocReview \ DocReviewFacade.asmx.cs: Linie 69

Wenn ich laufen diese App im App Pool Identität mit Konto es funktioniert gut. Wenn ich diese Konsole-App jedoch unter Verwendung eines anderen Benutzers ausführe, der ein Site Collection-Administrator ist, verfügt Farm Admin über dbbowner-Rechte für die Inhaltsdatenbank für die SharePoint-Webanwendung. Es funktioniert nicht richtig und gibt mir diese Filenot-Founf-Ausnahme.

Die Konsolenanwendung verwendet .Net Framework 3.5 und x64 als CPU-Plattform. Wieder funktioniert dies, wenn ich das App Pool Identität Konto verwenden, aber nicht mit einem anderen Konto

+0

Ich habe Visual Studio auf dem Windows 2008 R2-Server installiert. Hat dies Auswirkungen auf die App, die nicht funktioniert? –

+0

** Siehe [Lösung: FileNotFoundException auf SPSite] (http://jeets23.blogspot.co.uk/2012/07/filenotfundexception-on-spsite-using.html) * * – user1259071

Antwort

4

Benutzer laufen die Konsolenanwendung zumindest die Erlaubnis, die Sharepoint-Datenbanken gelesen haben muß, sonst werden Sie diese Art von Fehler sehen

+0

Der Benutzer ist der dbo in der Inhaltsdatenbank für die Web-App ... Benötigt es Berechtigungen für jede andere Datenbank? Protokollierung? –

+0

Lesezugriff auf die Konfigurations-DB, er benötigt sie, um den DB zu finden, in dem die Websitesammlung gespeichert ist. –

+1

Achten Sie auch darauf, dass die Konsolenanwendung im richtigen Modus ausgeführt wird, 64 Bit oder 32 Bit, dies ist mindestens relevant für das Debuggen –

4

Ich hatte dieses Problem und löste es für meine Konsolenanwendung, indem ich die Option "Platform target:" auf der Eigenschaftsseite "Build" in "Any CPU" änderte.

+0

Das Problem für mich gelöst, danke! Offenbar handelt es sich bei FileNotFoundException um die Microsoft.SharePoint-Referenz und nicht um die URL. – DzinX

0

Ich musste meine Windows Forms-Testanwendung .NET 3.5 statt .NET 4.5 machen.

0

SP 2010 funktioniert nur im x64-Modus. Ändern Sie das Ziel Ihrer Projektplattform auf x64. Wenn Ihr Dienst bereits in IIS ausgeführt wird, müssen Sie sicherstellen, dass der App-Pool die Eigenschaft 32-Bit-Anwendungen aktivieren auf false gesetzt hat.

2

NET Framework, das Sie verwenden, wird nicht mit SharePoint 2010 Server verglichen, zum Beispiel wird .NET 4.5 angewendet, die Ausnahme wird ausgelöst, ändern Sie zu .NET 3.5, beheben Sie das Problem.

+1

Es hat für mich funktioniert! –

Verwandte Themen