Не удается загрузить исключение типа при использовании веб-службы

Я написал мост между моим приложением и веб-сервисами Sharepoint, чтобы вернуть данные в мой проект в полезном формате. Однако, когда любая строка пытается создать новый экземпляр этого класса webServiceBridge, она выдает это исключение.

Could not load type 'SharepointWeb.ShareList' from assembly 'SharepointWeb, Version=2.6.0.0, Culture=neutral, PublicKeyToken=null'.

В данный момент я не ссылаюсь на библиотеки Sharepoint.dll и не использую их, так как это приложение будет внешним по отношению к серверу Sharepoint. Для совместимости с WSS3 проект плагина sharepoint (приложение, которое я пишу) - это.NET 3.5, а "проект инструмента настройки" - это.NET 4.

Все, что делает мой код webFunctions - это берет возвращаемые из веб-сервисов XmlNodes и сортирует их во что-то пригодное для использования В большинстве случаев они возвращаются List<MyObject>

Это единственные веб-методы, которые я использую.

permissionService.GetPermissionCollectionlistService.GetListlistService.GetListItemslistService.GetListCollectionsiteDataService.GetWeb

Я пробовал добавлять Microsoft.Sharepoint.dll как ссылка на проект, но это не решило проблему. Но даже если бы это было так, я не понимаю, зачем это нужно.

Вот что сказал Fuslogvw: (Как бы я ни указал, эта ошибка появляется в FuslogVw до вызова вызывающего исключение метода и попытки использовать веб-сервис. Помимо этой ошибки, он пуст!)

* Запись журнала Binder (19/07/2012 @ 14:38:45) *

Операция не удалась. Результат привязки: hr = 0x80070002. Система не может найти указанный файл.

Менеджер сборки загружен из: C:\Windows\Microsoft.NET\Framework\v4.0.30319\clr.dll, работающего под исполняемым файлом C: \ Working \ XXXX \ Configuration Tool \ v2.6.0.3 \ ConfigurationTool \ ConfigurationTool \ bin \ Debug

\ ConfigurationTool.vshost.exe --- Ниже приведен подробный журнал ошибок.

=== Информация о состоянии предварительной привязки === LOG: пользователь = ГГГГ \XXXX LOG: DisplayName = msvcm80, версия =8.0.50727.6195, культура = нейтральная, PublicKeyToken=b03f5f7f11d50a3a (указана полностью) LOG: Appbase = file:///C:/ Рабочая / XXXX / Инструмент конфигурирования /v2.6.0.3/ConfigurationTool/ConfigurationTool/bin/Debug/ LOG: Начальный PrivatePath = NULL LOG: Динамическая база = NULL LOG: База кеша = NULL LOG: AppName = ConfigurationTool.vshost.exe Вызывающая сборка: (Неизвестно). === LOG: эта привязка начинается в контексте загрузки по умолчанию. LOG: Использование файла конфигурации приложения: C: \ Working \ XXXX \ Configuration Tool \ v2.6.0.3 \ ConfigurationTool \ ConfigurationTool \ bin \ Debug

\ ConfigurationTool.vshost.exe.Config LOG: Использование файла конфигурации хоста: LOG: Использование файла конфигурации компьютера из C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config. LOG: ссылка после политики: msvcm80, версия =8.0.50727.6195, культура = нейтральная, PublicKeyToken=b03f5f7f11d50a3a LOG: поиск GAC не выполнен. LOG: Попытка загрузки нового файла URL:///C:/Working/XXXX/Configuration

Инструмент /v2.6.0.3/ConfigurationTool/ConfigurationTool/bin/Debug/msvcm80.DLL. LOG: Попытка загрузки нового файла URL:///C:/Working/XXXX/Configuration

Инструмент /v2.6.0.3/ConfigurationTool/ConfigurationTool/bin/Debug/msvcm80/msvcm80.DLL. LOG: Попытка загрузки нового файла URL:///C:/Working/XXXX/Configuration

Инструмент /v2.6.0.3/ConfigurationTool/ConfigurationTool/bin/Debug/msvcm80.EXE. LOG: Попытка загрузки нового файла URL:///C:/Working/XXXX/Configuration

Инструмент /v2.6.0.3/ConfigurationTool/ConfigurationTool/bin/Debug/msvcm80/msvcm80.EXE. Журнал: все зондирующие URL-адреса предприняты и не удалось.

редактировать: добавлен Msvcm80.dll из %Program Files%\Microsoft Visual Studio 8\VC\redist\x86\Microsoft.VC80.CRT

В FuslogVW нет ошибок, но исключение сохраняется.

Это полный текст исключения, не так много!

System.TypeLoadException был пойман Сообщение = Не удалось загрузить тип 'SharepointWeb.ShareList' из сборки 'SharepointWeb, Версия =2.6.0.0, Культура = Нейтральный, PublicKeyToken = null'.
Source = Sharepoint TypeName = SharepointWeb.ShareList StackTrace: в Sharepoint.FolderBrowser.GrowTree(String siteUrl) в Sharepoint.FolderBrowser..ctor(String siteURL) InnerException:

Где-нибудь еще я могу найти дополнительную информацию, которая может помочь мне диагностировать причину этой проблемы?

2 ответа

Решение

Проект, который ссылается на веб-сервисы, должен быть подписан ключом строгого имени. Затем размещается на серверах Sharepoint GAC или Sharepoint web's /bin каталог.

У меня не было СНК.

Из кода ошибки

0x80070002

похоже, что у вас есть проблема с разрешением. Попробуйте запустить приложение от имени администратора. Также проверьте, что учетная запись относится к группам пользователей, связанных с SP.

Я также вставил Sharepoint.DLL в мою папку отладки, как fuslog, как уже упоминалось, поиск там раньше

обратите внимание, что если сборка сохраняется в GAC, то CLR сначала ее оттуда.

Другие вопросы по тегам