Saltar al contenido

Error de referencia de servicio: no se pudo generar el código para la referencia de servicio

Este team especializado pasados muchos días de trabajo y de juntar de datos, dieron con la solución, esperamos que te sea útil para tu proyecto.

Solución:

Debe desmarcar los tipos de reutilización en todos los ensamblajes a los que se hace referencia desde la opción Configurar referencia de servicio

Verifique esto para más detalles

Haga clic con el botón derecho en la referencia de su servicio y seleccione Configure Service Reference...

Configurar referencia de servicio

Luego desmarque Reuse types in referenced assemblies

Tipos de reutilización

Hacer clic OKlimpie y reconstruya su solución.

También encontré un error similar al intentar generar el cliente para un servicio web desde un proyecto ASP .Net MVC 4.0 usando Visual Studio 2012.

La raíz del problema parece ser el hecho de que el proyecto desde el que intentaba generar el cliente hacía referencia a un ensamblaje que, a su vez, dependía de otro ensamblaje al que tampoco se hacía referencia.

Cuando se habilita “Reutilizar tipos en ensamblajes a los que se hace referencia” en la configuración del servicio, es probable que el generador de servicios esté inspeccionando todos los ensamblajes a los que se hace referencia para obtener una lista de los tipos que se pueden reutilizar. El hecho de que uno de los ensamblajes a los que se hace referencia haga referencia a otro ensamblaje que no está disponible probablemente provoque que el generador falle.

Desmarcar “Reutilizar tipos en ensamblajes a los que se hace referencia” de las configuraciones del servicio resolverá el problema anteriorpero tiene un efecto secundario. La opción de tipos de reutilización está ahí por una razón y en algunos casos evita la conversión innecesaria en el código que consume el servicio.

Por ejemplo, si el propio servicio se crea con WCF y algunos parámetros de métodos dentro de él son del tipo System.Guid, se traducirán a cadenas en el cliente generado si la opción de tipos de reutilización está deshabilitada.

Una alternativa que prefiero para deshabilitar la reutilización de tipos es agregar la referencia de servicio del proyecto Class Library creado específicamente para ese propósito. Lo único a tener en cuenta es copiar todas las configuraciones relacionadas con el servicio desde la aplicación.config de la biblioteca de clases al archivo de configuración del proyecto de inicio.

Si hay tipos definidos en ensamblajes locales que deben reutilizarse en el cliente de servicio, simplemente se debe hacer referencia a esos ensamblajes desde el proyecto de biblioteca de clases mencionado anteriormente, junto con todas sus dependencias.

Reseñas y valoraciones del post

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *