Spsecurity.runwithelevatedprivileges, работающие на Windows Server 2003/SP2007, а не на 2008/SP2010

sharepoint.stackexchange https://sharepoint.stackexchange.com/questions/15037

Вопрос

У меня есть этот простой код в C# с помощью SharePoint:

SPSecurity.RunWithElevatedPrivileges(delegate()
{
    SPSite site = new SPSite("http://localhost:333");
});

Когда я выполняю его на Windows Server 2008 с SharePoint 2010, я получаю эту ошибку:

Получение фабрики COM Class для компонента с CLSID {BDEADF26-C265-11D0-BCED-00A0C90AB50F} не удалось из-за следующей ошибки: 80040154.

Когда я выполняю его в Windows Server 2003 с SharePoint 2007, он работает хорошо.

Есть ли проблема в Windows или SharePoint?
Как я могу избавиться от этой ошибки?

Это было полезно?

Решение

Был ли ваш код скомпилирован на 64-битный?

Другие советы

Попробуйте зарегистрировать файл owssvr.dll, расположенный в папке ISAPI под папкой 12-Hie (Moss 2007) или SharePoint Root (SharePoint 2010). Это библиотека COM, вам необходимо зарегистрироваться, используя команду «Regsvr32» «Полный путь к DLL».

Goto Your Visual Studio Sperties -> Установите цель платформы как AnyCPU для опции сборки. Это исправит проблему.

Я попробовал следующий шаг, и это сработало для меня для приведенной выше ошибки.

  • Перейдите в Solution Explorer и нажмите Alt+ Enter
  • Выберите любой процессор в варианте сборки и снимайте с собой написанный поле, предпочитайте 32-битный.
  • Сохраните изменения и создайте свое решение.

Теперь вы должны иметь возможность запустить программу.

Надеюсь это поможет.

Для SP2010 обратитесь к Microsoft.SharePoint.dll из 14 Hive. Вы должны восстановить проект на 64 бит

Лицензировано под: CC-BY-SA с атрибуция
Не связан с sharepoint.stackexchange
scroll top