Domanda

Questa domanda si pone come risultato di questa domanda , ma ho pensato di dividerlo fuori il meglio di sé.

Tutto ciò utilizzando SPUtility.GetGenericSetupPath() torna nullo, per esempio.

SPUtility.GetGenericSetupPath("config")
SPUtility.GetGenericSetupPath(string.Empty)

sia nulla di ritorno. Se faccio le chiamate in una piccola applicazione console ed eseguire il debug in VS2008, sembra per eseguire bene senza eccezioni (anche se con nulla restituito dal metodo.) Tuttavia ho notato un messaggio nella finestra di output:

Una prima eccezione di possibilità di tipo 'System.DllNotFoundException' si è verificato in Microsoft.SharePoint.dll

Quindi, se ho Visual Studio per rompere su tutte le eccezioni, anche quelle più movimentate, l'eccezione è la seguente:

System.DllNotFoundException: Impossibile caricare la DLL 'onetnative.dll': il modulo specificato non è stato trovato. (Eccezione da HRESULT: 0x8007007E)

Ho controllato e onetnative.dll esiste in C:. Extensions Files \ Programmi \ File comuni \ Microsoft Shared \ Web Server \ 12 \ BIN

È stato utile?

Soluzione 2

Per quanto posso risalire, questo è stato causato da un'installazione della versione sbagliata di Microsoft J #.

J # è un pre-requisito del Citrix Web Interface per webparts SharePoint. Ho installato la versione a 32 bit per errore, quindi disinstallato e installato la versione a 64 bit. Ho il sospetto (sulla base di un bel po 'di test, ma non al 100% verificato) che questo ha causato le applicazioni .NET / CLR per iniziare la ricerca nel nodo a 32 bit del Registro di sistema, piuttosto che a 64 bit.

Altri suggerimenti

vorrei provare a copiare l'onetnative.dll nello stesso posto come console app e vedere se fa la differenza

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a sharepoint.stackexchange
scroll top