¿Cuál es la diferencia entre .NET Core, .NET Framework y Xamarin?

Microsoft ahora tiene .NET Core, .NET Framework y Xamarin (Mono) en su familia .NET.

Parece que hay mucha superposición aquí. ¿Cuál es la diferencia entre estos tipos de .NET? ¿Cuándo debería elegir usar .NET Core en mi proyecto, en lugar de .NET Framework o Xamarin?

Respuestas a la pregunta(5)

Su respuesta a la pregunta