2014-11-20 9 views
14

Sto creando una libreria di classi C# portatile e sto cercando di aggiungere un riferimento al servizio Web al mio progetto.Aggiunta di riferimenti di servizio alla libreria di classi portatili

Utilizzando VS 2013, ho fatto clic con il pulsante destro del mouse sulla soluzione e nei miei altri progetti ci sarebbe stata un'opzione per "Aggiungi riferimento servizio". Ma nel mio progetto di libreria mobile questa opzione non esiste.

C'è qualcosa di speciale da fare per aggiungere un riferimento di servizio a una libreria mobile o non è possibile?

Vedere lo screenshot, non c'è nemmeno un'opzione per aggiungere un riferimento di servizio al mio progetto.

enter image description here

+0

quindi nel progetto/soluzione stai dicendo che non vedi alcun nodo che dice "Riferimenti" ...? – MethodMan

+0

Ho "aggiungi riferimento" ma nessuno di questi riferimenti consente i servizi web. – user1806716

+0

c'è un'impostazione Avanzata se non sbaglio che ti darà la possibilità di selezionare un servizio web esistente fammi guardare per descrivere i passi esatti..ok ne vedi uno che dice aggiungi Service Reference..e in fondo a quel Dialup Popup vedrai e il pulsante 'Advanced' .. clicca su quello e seleziona Aggiungi Web Reference – MethodMan

risposta

1

Aggiungi riferimento "System.ServiceModel" e si può vedere "Servizio di riferimento"

+0

In questo modo è possibile aggiungere il riferimento al servizio, tuttavia, quando si tenta di compilare il progetto si ottengono errori di compilazione e un'avvertenza di compilazione relativa al tipo "System.Xml.XmlElement" non supportato nelle librerie portatili. – theBoringCoder

+0

Ecco un altro articolo SO che si lega a questo problema: http://stackoverflow.com/questions/12301157/portable-class-library-xmlanyelementattribute – theBoringCoder

+2

Come aggiungo System.servicemodel – Hunt

12

ho avuto lo stesso problema. Subito dopo la creazione di un nuovo progetto di tipo "Blank App (Xamarin.Forms Shared) in Visual Studio non c'era alcun collegamento" Aggiungi riferimento al servizio "quando ho fatto clic con il pulsante destro su PCL. Quello che ho fatto è stato creare un altro PCL e fare riferimento invece di default (che ho cancellato in seguito). ho scelto di progetto di tipo "Class Library (Portable per iOS, Android e Windows)".

enter image description here

e poi sono andato alle proprietà del progetto e di Windows non selezionata " Telefono casella di controllo 8.1" .

enter image description here

E il collegamento "Aggiungi riferimento servizio" è apparso all'improvviso.

enter image description here

Sto usando Visual Stuido 2015 Community Edition (versione 14.0.25123.00 Update 2). Spero che questo funzioni anche per voi ragazzi.

+0

Sembra che qualsiasi modello PCL dovrebbe funzionare quel modo. L'unica cosa essenziale è rimuovere "Windows phone 8.1" (solo "telefono", non "Windows phone Silverlight") dai target desiderati. –

+0

ma come supporti ora Windows Phone 8.1? – jaysonragasa

6

La ragione per cui non è possibile aggiungere Servizio di riferimento in un progetto di Xamarin Forms PCL può essere:

  1. Windows Phone 8.1 (non Silverlight). Rimuovilo andando alle proprietà sul progetto PCL e fai clic su Cambia. Potresti non essere in grado di farlo prima di rimuovere tutti i pacchetti Nuget.
  2. Visual Studio si arresta in modo anomalo quando si aggiunge il riferimento del servizio. Rimuovi il pacchetto nuget di Xamarin Forms e Asp.net SignalR. Questo ha funzionato per me. Non disponevo di Entity Framework Core, ma potrebbe essere necessario rimuoverlo temporaneamente.
+1

Anche il riutilizzo del tipo deselezionato è richiesto (causando arresti di Visual Studio). – Fanda

+0

Sai perché è Fanda? – Dooie

0

Ho anche avuto la stessa situazione in cui il riferimento al servizio di aggiunta manca dal menu di scelta rapida. La risposta più votata mi ha indirizzato verso la giusta direzione, ma non ho creato un altro progetto. Basta rinominare il tuo packages.config prima (forse in .old). Questo dovrebbe superare il problema "Gli obiettivi selezionati richiedono che il progetto opti per il supporto di NuGet 3.0 ..." quando deselezioni Windows Phone dalle destinazioni.

E sì, sembra che la rimozione della destinazione di Windows Phone abilita il menu di scelta rapida di riferimento per il servizio di aggiunta sul progetto PCL.

Problemi correlati