Невозможно загрузить «onetnative.dll»: указанный модуль не может быть найден
Вопрос
Этот вопрос возникает в результате этот вопрос, но я думал, что разделю его на себя.
Все, что использует SPUtility.GetGenericSetupPath()
Возвращает ноль, например
SPUtility.GetGenericSetupPath("config")
SPUtility.GetGenericSetupPath(string.Empty)
оба возвращают нуль. Если я сделаю эти вызовы в небольшом приложении для консоли и отлаживает его в VS2008, он, по -видимому, выполняется нормально без исключений (хотя с нулевым возвращением из метода. Однако я замечаю сообщение в окне вывода:
Первое шанс исключение типа 'System.dllnotFoundException' произошло в microsoft.sharepoint.dll
Так что, если я заставляю Visual Studio разбить все исключения, даже обрабатываемые, исключение будет следующим:
System.dllnotfoundException: невозможно загрузить dll 'onetnative.dll': указанный модуль не может быть найдено. (Исключение от HResult: 0x8007007e)
Я проверил, и onetnative.dll существует в C: Program Files Common Files Microsoft Shared Extensions 12 bin.
Решение 2
Насколько я могу отследить его, это было вызвано установкой неправильной версии Microsoft J#.
J#-это предварительное условие веб-интерфейса Citrix для веб-частей SharePoint. Я установил 32 -битную версию ошибочно, затем удалил и установил 64 -битную версию. У меня есть догадка (на основе хорошего кусочка тестирования, но не проверено на 100%), что это заставило приложения .NET/CLR начать искать в 32 -битном узле реестра, а не 64 -битный.
Другие советы
Я бы попробовал скопировать oonetnative.dll в то же место, что и ваше приложение для консоли, и посмотреть, имеет ли это значение