#HowTo Agregar una WebReference ASMX o SVC a un proyecto de Rider en Mac.

En este post te voy a explicar como puedes agregar una WebReference a un proyecto en C# cuando estás usando Rider en la Mac.

Rider para Windows puede crear clientes proxy de webservices SOAP sin problema, en cambio, si usas Rider en la Mac solo podrás agregar referencias web si el proyecto se ejecuta en un runtime Mono. Afortunadamente, el SDK de .Net Core (2.x o superior) tiene una utilería con la que es posible crear los clientes proxy de un ASMX.

¿Qué necesito para empezar?.

Debes tener instalado en tu Mac el SDK de .Net Core.

Creando el cliente proxy.

Una vez instalado el SDK podrás invocar la utilería SvcUtil, esta es parecida a la de Windows. Para este caso puse una referencia a un ambiente de pruebas publico en ASMX. Tú puedes ocupar cualquier otra referencia.

El proceso va a crear dos archivos, un JSON con los datos usados en la ejecución del comando y un archivo de código C# (References.cs).

Diferencias de cliente proxy con Windows.

El cliente proxy es muy parecido, es verboso y con rutas de namespace completas. Las diferencias se encuentran en la configuración, no vas a encontrar un archivo config. Los endpoints y los bindings son declarados en código duro. La creación y lectura de configuraciones  corre por tu cuenta.

Vas a tener que hacer referencia al package Nuget System.ServiceModel.Primitives.