Vra

Ek probeer om 'n geval van SPSite instansieer op die plaas bediener in 'n persoonlike proses (MyApp.exe) en ek gee dit as parameter die hele URI ( http: // Gates: 80 / ). Ek het ook seker gemaak dat die rekening hardloop MyApp.exe is Site Collection Administrator.

Ek kan egter nie 'n geval van SPSite alles wat ek probeer doen. Dit gooi altyd 'n FileNotFoundException.

Enigiemand het 'n idee?

StackTrace:

  

by   Microsoft.SharePoint.SPSite..ctor (SPFarm   plaas, Uri requestUri, Boole   contextSite, SPUserToken userToken)
  by   Microsoft.SharePoint.SPSite..ctor (String   requestUrl) by   MyCompanyName.Service.HelperClass.GetItemStateInSharePoint (SharePointItem   item) in   C: \ Work \ MyCompanyName \ Ontwikkeling \ Main \ MyCompanyName.SharePoint \ Service \ HelperClass.cs: lyn   555

Nog 'n kant nota ... Ek het 'n Web Aansoek + Site versameling wat ek kan bekom deur middel van die leser sonder enige probleem.

Was dit nuttig?

Oplossing

Die FileNotFoundException gegooi deur SharePoint wanneer dit die versoek webwerf versameling in die SharePoint opset databasis kan kry nie. My raaiskoot is dat jy nog nie het 'n webwerf versameling op die URL http: // Gates: 80 . Ek sien die volgende stapel spoor as ek probeer instansieer 'n nuwe SPSite voorwerp met die URL van 'n nie-bestaande terrein versameling:

System.IO.FileNotFoundException : The site http://server/sites/bah could not be found in the Web application SPWebApplication 
Name=SharePoint - 80 Parent=SPWebService.
at Microsoft.SharePoint.SPSite..ctor(SPFarm farm, Uri requestUri, Boolean contextSite, SPUserToken userToken)
at Microsoft.SharePoint.SPSite..ctor(String requestUrl)

Gee die korrekte URL van jou webwerf versameling of oop Sentrale Administrasie en skep 'n nuwe tuiste Versameling.

Ander wenke

Die verandering van die platform teiken in die bou eiendomme x64 opgelos hierdie probleem vir my op SharePoint 2010.

Lees hierdie webwerf http://community.bamboosolutions.com/forums/t/ 8179.aspx as jy met jou OS x64 bietjie en gebruik MSTest (32bit) dit sal misluk, gebruik nunit werk !!!

As dit is 'n konsole aansoek om toegang tot SharePoint 2010 jy seker maak jou projek Bou Target is x64 en die NET Framework is 3.5.

Hierdie kwessie is meer van gebruiker toestemming kwessie gee die volgende toestemming

Gebruiker Toestemming SharePoint Site --- Minimum Lees Toestemming

Sharepoint Server --- Voeg by WSS_ADMIN_WPG groep

Database --- Sharepoint inhoud DB (Site versameling databasis) - db_owner toestemming                            Sharepoint Config DB (Config DB van SharePoint installasie) - - db_owner toestemming

Lees meer in my blog

http://sharepointinstallation.blogspot.com/ 2010/12 / minimale-toestemming-vereiste-tot-execute.html

Dit is ook moontlik dat die voorwerp model hou nie van die URL wat jy dit gee. As jy dit nie doen voorsien met óf die presiese URL waar jy die webwerf versameling geskep of 'n presiese URL in jou is ingestel in jou Alternatiewe Toegang Mappings gelys, sal dit 'n uitsondering wat nie noodwendig sin kan maak gooi. In jou geval jy dalk probeer http://mysite of http://machinename.

Stacktrace van die uitsondering sou nuttig wees.

Ek dink jy kan moontlik 'n idee van wat dien dit kry en wat gebeur deur die aanskakel "net my kode" in gereedskap -> opsies -> ontfouting en kyk na die lêernaam argument in die oproep stapel die uitsondering wanneer die debugger toon dit (as jy dit kan ontfout natuurlik), of dalk die naam vertoon in die uitsondering boodskap.

Gaan jou Web.config en kyk of daar 'n config daar met 'n lêer ontbreek.

Look in jou 12 korf vir die punteleer. As jou log verstellings korrek is, sal jy die lêer kry ontbreek.

EDIT: Gaan ook as AL jou DLL is in die GAC. Kyk of jou Web.config lêer bevat al die inligting: naamruimte, Classname, naamruimte, weergawe = VERSION_NUMBER, Kultuur-your_culture, PublicKeyToken = your_signed_token

Ek het onlangs ontdek dat hierdie probleem met die konstruktor oorsaak deur starnge gedrag van die konstruktor kan wees.
Ek neem oor MOSS 2007. As jy verby 'n hele werf URL na die konstruktor, wat dit lyk om te doen is om werklik te oorweeg net die terrein gedeelte van die URL, die keuse van die web-program wat in die web-program selector beheer is 'tans seleced.
So, byvoorbeeld, wanneer jy " http: // webapp / webwerwe / terrein " en het " http: // weabapp: 22.345 "huidiglik gekose (die laaste keer dat jy dit gekies in so 'n selector) wanneer jy bel

SPSite site = new SPSite("http://webapp/sites/site")

Dit probeer om 'n webwerf voorwerp vir " http eintlik skep: // webapp: 22345 / webwerwe / webwerf "en versuim.

Ek het dieselfde probleem. Ek wou konsole aansoek hardloop met my gebruiker id. Ek is webtoepassing eienaar + Farm Admin. Nog nie in staat was om die aansoek te voer.

Uitgawe opgelos deur

  1. Die verandering van die platform teiken in bou eiendomme x64

  2. In webwerf instellings -> Gebruikers en Permissions -> Site Collection Administrators was daar twee name. Verwyder ander naam en dit begin werk.

Jy kan die teiken projek samestelling ingestel op "Enige CPU" hou. Die belangrikste hiervan is om die MSTest gasheer proses om uit te voer in 64bits instel. Maak jou .testsettings lêer, gaan na die blad gashere en stel "Begin toetse in 64 bit ..."

As jy na wanneer jy jou toetse uit te voer VS vertel jy daar is nie enige, te verwyder en voeg jou toets projek weer (ek weet nie 'n beter oplossing vir hierdie)

Hoop dit help!

Ons het dieselfde probleem, maar ek is vertroud met die verskillende oorsake, hier is 'n opsomming:

  1. Jy kan hê mis-getik of andersins ingevoer die verkeerde adres
  2. Die gebruiker rekening loop die proses nie die nodige magtiging, wat het:. Lees Toestemming om die SharePoint site, en 'n dbo van die SharePoint Config db, en inhoud db
  3. Die proses moet 'n 64 bit proses (die verstek is 64bit "Enige CPU") by die bou van 'n 64 bit bediener.
  4. wees
  5. Die proses moet gerig wees op NET 3.5

Ek was geteister deur hierdie 'n paar weke gelede. Uiteindelik het ek ontdek dat die lêer wat nie kon gevind was die SharePoint vergadering self. Die runtime is die versuim om die satelliet vergadering via laat-bindende laai.

Die oplossing vir my probleem was om die SharePoint registreer 12.0.0.0 Assemblies in die GAC. Dit klink nie soos dit is dieselfde as jou probleem, maar net FYI.

Ons gekonfronteer dieselfde probleem paar dae gelede, en die oplossing was om die aansoek te stel, wat probeer om die SPSite voorwerp te skep, om dieselfde AppPool gebruik dat die Sharepoint se web aansoek.

Hoop dit help.

Die MSTest op x64 kwessie was die oorsaak van hierdie probleem vir my. Werk in 'n konsole inligting.

Ek het 'n soortgelyke soort van probleem.

In my scenario, kon ek die geval van SPSite skep van 'n konsole aansoek, maar wanneer 'n ander spanmaat probeer om dit te doen, die aansoek gegooi dieselfde uitsondering soos hierbo genoem.

Oplossing: Ek het bygevoeg die ander spanmaat as administrateur op inhoud Db bediener boks (dit kan nie moontlik wees vir almal), die kode werk goed en geen fout

Dieselfde probleem op SharePoint 2010. Maar die probleem was met ons web diens wat toegang tot die SharePoint voorwerp model. Die app swembad wat hierdie diens onder moet hardloop moet 'n plaas admin wees.

Skakel oor na NUnit kan nie 'n opsie vir almal wees.
In my geval, die probleem was dat ek op 'n 64 bit bediener, ek het Enige CPU nagegaan (so dit was pluk die korrekte weergawe) maar my toets Instellings is om "Force toetse uit te voer in 32 bit proses" stel (GAH! )

In MSTest, Gaan na toets-> Edit Toets Stellings-> Trace en toets Impact.
Kies die leërskare.
Maak seker dat jy loop teen die korrekte weergawe. Hier is wat jy moet pluk

Hier is my kontrolelys vir VS2010 SP1, MSTest.

  • Jy moet SP1 sodat jy toetse te NET 3.5 kan teiken. Dit sal nie werk met NET 4.0
  • Maak seker dat die webwerf loads- i die webwerf direk vanaf die VS2010 redakteur van stapel gestuur, want dit is 'n hyperlink
  • Bevestig bou instellings. Om Kies 64 bit as bediener is 64-bit.
  • In my geval het ek 'n 64 bit bediener, maar die keuse x64 sou misluk! Dit was my eerste leidraad.
  • Maak seker dat die toets instellings ondersteun die korrekte stukkies.

Ek het dieselfde probleem probeer om toegang te verkry tot SharePoint 2010.

Ek het dit deur die verandering van die teiken Framework NET 3.5.- wat die ondersteun weergawe vir SharePoint 2010.

In my geval was dit beslis 'n regte probleem met die rekening Ek is aangeteken in vensters met.

Probeer hierdie opdrag in SharePoint Management Shell loop as Administrateur:

get-SPSite ' http: // uwSite / yourcollection '

As jy foute dan inteken op die SharePoint bediener as die jeug swembad gebruiker of die gebruik SharePoint installeer en probeer die bogenoemde opdrag weer rekening.

As dit werk dan moet jy weet dat jou vorige rekening het 'n regte probleem. Om die probleem op te los, loop hierdie opdrag in dieselfde dop venster en verskaf die rekening wat jy wil gebruik in VS:

byvoeging SPShellAdmin -UserName Domain \ User

Ek het dieselfde probleem, ek het onder veranderinge en dit begin werk.

  1. Die verandering van die platform teiken in Visual Studio te x64
  2. maak seker jy loop Visual Studio in "Administrateur" modus.
Gelisensieer onder: CC-BY-SA met toeskrywing
Nie verbonde aan StackOverflow
scroll top