РЕДАКТИРОВАТЬ - Я получил его для работы с SL 3 во время выполнения ...
Мне пришлось удалить все старые ссылки на System.ServiceModel и System.Net и добавить их обратно из этого места (я запускаю 64-разрядные Windows)
C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\Silverlight\v3.0
Как только я это сделал - это сработало! Извините, если вы все еще ориентируетесь на среду выполнения 2.0, но я решил опубликовать это обновление на случай, если кто-нибудь найдет эту страницу в будущем ...
Возможно, это просто "моя проблема", поскольку я использую x64 windows ... Вот как выглядит новый файл proj для ссылок на сборки:
<Reference Include="System.Net, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\Silverlight\v3.0\System.Net.dll</HintPath>
</Reference> <Reference Include="System.ServiceModel, Version=2.0.5.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\Silverlight\v3.0\System.ServiceModel.dll</HintPath>
</Reference>
=============== СТАРЫЙ ответ ниже ===============
Я пытался сделать то же самое без удачи, поэтому я скажу: "Это не может быть сделано в данный момент", и это ДЕЙСТВИТЕЛЬНО раздражает ...
Если вы посмотрите на reference.cs и испущенный .cs, то верхняя часть класса покажет вам, что при использовании «Add Service Reference» вы получите:
// This code was auto-generated by Microsoft.Silverlight.ServiceReference, version 2.0.5.0
Используя SlSvcUtil (кстати, инструмент v3.0), вы получаете:.
// This code was auto-generated by slsvcutil, version 3.0.40624.0
Так что я не думаю, что вы сможете "задний порт" к v2.0. К сожалению - вы также НЕ МОЖЕТЕ использовать SlSvcUtil с версией 3.0! (что мне кажется нелепым - или я просто не могу заставить его работать должным образом)
Я нацеливаюсь на среду исполнения 3.0 и использую SlSvcUtil, и "из коробки" мне это говорит
The type or namespace name 'FaultContractAttributeAttribute' does not exist
in the namespace 'System.ServiceModel' (are you missing an assembly reference?)
Класс существует в System.ServiceModel 3.0. *, Но Silverlight использует 2.0. * Там, где его нет ... The kicker - попробуйте добавить ссылку на версию 3.0, и вы получите:
You can't add a reference to System.ServiceModel.dll as it was not built against the
Silverlight runtime. Silverlight projects will only work with Silverlight assemblies
Так что даже если бы вы были на v3.0 - вы были бы SOL - точно так же, как я ...
Надеюсь, кто-нибудь ответит, сообщив нам, КАК это сделать, но я не думаю, что это возможно ... КТО-ТО - ДОКАЗАТЬ МНЕ НЕПРАВИЛЬНО, ПОЖАЛУЙСТА !!! :)
Извините, человек ...