Не удалось найти сборку System.ServiceModel - PullRequest
5 голосов
/ 29 января 2009

Я развертываю веб-часть на sharepoint и получаю некоторые ошибки. Веб-часть использует данные из веб-службы и отображает диаграмму с помощью Microsoft Chart (Framework 3.5). Когда я пытаюсь получить к нему доступ, я получаю следующую ошибку:

Не удалось загрузить файл или сборку 'System.ServiceModel, версия = 3.0.0.0, культура = нейтральная, PublicKeyToken = b77a5c561934e089' или одна из ее зависимостей. Система не может найти указанный файл.

StackTrace: в System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse (сообщение SoapClientMessage, ответ WebResponse, поток responseStream, логический asyncCall)
в System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke (String methodName, Object [] параметры)

Я попытался скопировать System.Servicemodel.dll в папку bin и зарегистрировать ее в GAC, но ошибка не меняется. Есть идеи?

Спасибо

Ответы [ 8 ]

4 голосов
/ 30 января 2009

Чтобы расширить вышеприведенные ответы:

Похоже, ваш сайт работает на asp.net 2.x. Поскольку System.ServiceModel является компонентом 3.x, сборка не будет загружаться. Вам нужно будет установить 3.5 на сервер, или, если у вас уже есть, настроить IIS для запуска сайта под 3.5

3 голосов
/ 23 мая 2011

У меня была похожая проблема, но это было из-за того, что мой .NET Framework испортился / испортился, поэтому я опубликую, что для меня исправлено. Может быть, это излишне, но это сработало, когда больше ничего не получилось бы.

Получите «dotnetfx_cleanup_tool» из http://blogs.msdn.com/b/astebner/archive/2008/08/28/8904493.aspx (я думаю, что одна из ссылок для загрузки не работает, поэтому используйте другую)

Удалите фреймворки 2.0 и выше (я сделал 3.5, 3.0, 2.0. 2.0 заставил меня перезагрузиться).

ВАЖНО: Перейдите в C: \ WINDOWS \ Microsoft.NET \ Framework и удалите или переименуйте папки для версий .NET, которые вы удалили.

Затем я установил .NET Framework 2.0 с пакетом обновления 2 (после перезагрузки). Ошибка исчезла. Я также установил .NET Framework 3.5 SP1 (работает без перезагрузки), но ошибка все еще исчезла.

1 голос
/ 29 января 2009

Ваш веб-сайт настроен на использование ASP.NET 2.0.5.something?

Может быть, эта статья может быть полезной:

Принудительное включение ASP.NET 3.5 в IIS

0 голосов
/ 13 марта 2012

Я столкнулся с этой же проблемой с приложением Silverlight 4 и решил ее, отключив проверки исключений отладки для

  Common Language Runtime exceptions

в Debug => Исключения

Надеюсь, что помогает

Mike

0 голосов
/ 08 ноября 2011

запустите командную строку Visual Studio 2010 или перейдите к «C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319». И выполните следующую команду из командной строки:

aspnet_regiis.exe -iru

0 голосов
/ 08 февраля 2009

Проблема была в веб-службе, а не в веб-части. На машине, на которой был развернут веб-сервис, установлена ​​платформа 2.0. Исключение было обнаружено на веб-сайте и получено сообщение. Спасибо всем за ваши комментарии.

0 голосов
/ 30 января 2009

Похоже, что сама веб-часть была построена на более старой версии сборки System.ServiceModel (возможно, бета-версия). Если у вас есть доступ к исходному коду веб-части, вам следует перекомпилировать его с последней стабильной версией. В противном случае вам придется найти точно такую ​​же версию System.ServiceModel и зарегистрировать ее в своем GAC.

РЕДАКТИРОВАТЬ: Вы также можете попробовать зайти в Web.config вашего веб-приложения и заменить ссылку System.ServiceModel следующим:

<Reference Include="System.ServiceModel">
  <SpecificVersion>False</SpecificVersion>
</Reference>
0 голосов
/ 29 января 2009

Попробуйте установить .NET Framework 3.5 на свой сервер sharepoint.

...