У меня есть проект iOS/Android Xamarin, который совместно использует проект PCL.«System.Runtime.Serialization». Вам не хватает ссылки на сборку? » после добавления веб-ссылки
Я добавил веб-ссылку на PCL через ASMX согласно Xamarin's Tutorial. В учебнике не говорится, как попасть в окно «Добавить веб-ссылку», но мы нашли его, щелкнув правой кнопкой мыши наш проект PCL и перейдя на Add->Web Reference
.
При добавлении веб-ссылки я получаю примерно 500 строк файла Reference.cs, который добавляется в PCL.
Однако на компиляции, либо IOS или Android, я дал некоторые из этих ошибок:
Reference.cs (74,74): CS0234 Ошибка: тип или пространство имен имя
IExtensibleDataObject' does not exist in the namespace
System.Runtime. Сериализация. Вам не хватает ссылки на сборку? (CS0234) (MyProject)
Понятно, что мне нужно добавить ссылку на сборку . Однако я не могу понять, как это сделать, и я потратил часы на поиск документации или любого соответствующего решения. В большинстве случаев вопросы с сообщениями кажутся тангенциальными.
Этот forum post ссылается на эту проблему, но не дает никакого решения, кроме того, что он якобы «исправлен» три года назад.
В приведенном выше учебном пособии приведено диалоговое окно «Добавить ссылки ...» для добавления System.Web.Services.dll
, если вы используете «Добавить файлы» для добавления прокси. Однако я не могу найти этот диалог где-нибудь в среде IDE.
При нажатии правой кнопки мыши на ссылках я нашел ссылку «Редактировать ссылки». Это создало окно с этими вкладками:
Гадать, что сборка должна быть добавлена здесь я искать его, но ничего не нашел. По-видимому, нет возможности добавлять сборки, которые упакованы в среду IDE, вы должны «просто знать», где их искать. Поиск документации оказывается бесплодным.
С помощью одного из примеров проекта я смог найти файл DLL на /Library/Frameworks/Mono.framework/Versions/4.4.2/lib/mono/xbuild-frameworks/.NETPortable/v4.5/Profile/Profile78/System.Runtime.Serialization.dll
и вручную добавить его с помощью вкладки .NET Assembly.
Коллега попытался добавить ссылку через NuGet.
К сожалению, ошибки компиляции остаются после попытки любого подхода.
Кроме того, следует отметить, что проект примера ToDoASMX или папка, содержащая System.Runtime.Serialization.dll
, имеют ссылки на System.Web.Services.dll
, о которых упоминается в учебнике.
Какую версию C# вы используете? –
@AlexKrupka Все три проекта говорят «default» для версии C#. Я использую Xamarin Studio Community 6.0.2 (сборка 73). Я не уверен, что такое IDE по умолчанию, но выглядит как версия 6 поддерживается. – BergQuester
Как вы добавляете ссылку на службу? Вы создаете прокси? Вы просто щелкаете правой кнопкой мыши и «Добавить веб-сервис»? Можете ли вы поместить шаги воспроизведения в свой вопрос, чтобы мы могли исследовать дальше? –