Не удалось найти систему сборки. ServiceModel

(byte) b * b преобразует значение первого b в byte (, которое является избыточным, поскольку оно уже было byte ), и умножает его на значение второго b. , Умножение двух byte s переводит их сначала в int, поскольку для byte s нет оператора *. Следовательно, результатом является int, и его нельзя присвоить переменной byte.

С другой стороны, (byte)(b * b) приводит результат умножения int к byte, который можно присвоить переменной byte.

Это описано в JLS в 5.6.2. Двоичное числовое продвижение :

Когда оператор применяет двоичное числовое продвижение к паре операндов, каждый из которых должен обозначать значение, которое можно преобразовать в числовой тип, применяются следующие правила: order:

  1. Если какой-либо операнд имеет ссылочный тип, он подвергается распаковке преобразования (§5.1.8).

  2. Расширяющее примитивное преобразование (§5.1.2) применяется для преобразования одного или обоих операндов, как указано в следующих правилах:

    • Если любой из операндов имеет тип double, другой преобразуется в двойной.

    • В противном случае, если один из операндов имеет тип float, другой преобразуется в float.

    • В противном случае, если один из операндов имеет тип long, другой преобразуется в long.

    • В противном случае оба операнда преобразуются в тип int .

blockquote>

5
задан Frederik Gheysels 29 January 2009 в 18:56
поделиться

5 ответов

Проблема была в веб-сервисе, не webpart. Машина, где веб-сервис был развернут, имеет платформу 2,0 установленных. Исключение было поймано на webpart и сообщило. Спасибо всем за Ваши комментарии.

0
ответ дан 14 December 2019 в 04:49
поделиться

Подробно остановиться на вышеупомянутых ответах:

Это действительно кажется, что Ваш сайт работает на asp.net 2.x. Быть той Системой. ServiceModel 3.x компонент, блок не загрузится. Необходимо будет установить 3.5 на сервере, или если у Вас уже есть он, установил IIS для выполнения сайта под 3,5

4
ответ дан 14 December 2019 в 04:49
поделиться

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

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

Принуждение ASP.NET 3.5 НА IIS

1
ответ дан 14 December 2019 в 04:49
поделиться

Попытайтесь установить Платформу.NET 3.5 на Вашем sharepoint сервере.

0
ответ дан 14 December 2019 в 04:49
поделиться

Это кажется, что сама веб-Часть была создана против более старой версии Системы. Блок ServiceModel (вероятно, бета-версия). Если у Вас есть доступ к исходному коду веб-части, необходимо перекомпилировать его против последней стабильной версии. Иначе необходимо будет найти ту же самую версию Системы. ServiceModel и регистр это в Ваш GAC.

Править: Вы могли также попытаться войти в Web.config своего веб-приложения и заменить свою Систему. Ссылка ServiceModel с этим:

<Reference Include="System.ServiceModel">
  <SpecificVersion>False</SpecificVersion>
</Reference>
0
ответ дан 14 December 2019 в 04:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: