2009-04-30 10 views
3

Je suis en train de créer un SPSite d'objet pour la recherche sharepoint mais je reçois exception dans la production que le site ne se trouve pasSharepoint SPSite

SPSite site = new SPSite("sitename"); 
ServerContext scon = ServerContext.GetContext(site); 
SearchContext srchcontext = SearchContext.GetContext(scon); 
Scopes sc = new Scopes(srchcontext); 

Il lance le site d'exception ne se trouve pas j'ai vérifié le nom du site, il exixts .

Une aide?

Répondre

3

Avez-vous vos permissions configurées correctement? Découvrez cette conversation ...

http://social.msdn.microsoft.com/Forums/ja-JP/sharepointdevelopment/thread/4d923b6a-d423-4c42-82dd-3315872db9cc

Vous devez vous assurer (pris de ce qui précède) que:

  1. L'utilisateur est un administrateur de la batterie du serveur.
  2. L'utilisateur dispose d'autorisations en lecture et en écriture sur la base de données de contenu.
  3. L'utilisateur est un administrateur de collection de sites.
  4. L'utilisateur dispose d'autorisations pour accéder au site Windows SharePoint Services ou au site SharePoint Server 2007 via lequel le code itère.
+0

Cela ne peut simplement pas être la réponse. Je dois télécharger un document. Pourquoi mon compte de service doit-il être un administrateur SERVER FARM? –

0

Vous devez également vous assurer que vous utilisez une adresse IP que vous pouvez atteindre dans votre boîte locale et sur le serveur sur lequel vous exécutez le programme. Avant d'exécuter le programme, exécutez une commande ping sur l'adresse Web à partir de l'invite de commande cmd. Une autre façon de le tester est d'ouvrir l'adresse Web exacte dans un navigateur de la boîte que vous exécutez le programme.

Il est possible que vous essayiez d'atteindre un site interne à partir d'un serveur qui ne se trouve pas sur le même domaine. Et enfin, comme il est dit dans le MSDN Documentation, vous ne devriez pas utiliser "SiteName" mais plutôt vous assurer que vous utilisez "SiteAbsoluteUrl".

6

Vérifiez que vous construisez contre la bonne cible. C'est à dire. x86 contre x64. Je reçois cette erreur lorsque je compile contre x86 et que j'essaie de lancer contre x64.

0

Si vous créez une application de console et y essayez le même code, le même code fonctionne. Vous devez ajouter une application à IIS et modifier l'identité du pool d'applications. J'ai fait la même chose et ça a marché pour moi.