Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

598
Vistas
Compilador de C#: CS0121: la llamada es ambigua entre los siguientes métodos o propiedades

Esto es lo más loco que he visto desde que un complemento de Fody arruinó mi ensamblaje al emitir un código no válido y el flujo de control varió al azar en el tiempo de ejecución... No Fody esta vez.

Hechos:

  • Toda la historia está dentro de un proyecto.
  • El método de extensión GetMessage está ahí desde hace semanas...
  • El problema se inició hace 2 horas y no puedo descifrar qué es.
  • Solo hay un método de extensión GetMessage.
  • El mensaje de error (ver la imagen) enumera dos especificaciones de método idénticas

    Error CS0121 The call is ambiguous between the following methods or properties: 'ComiCalc.Data.ExceptionExtensions.GetMessage2(System.Exception)' and 'ComiCalc.Data.ExceptionExtensions.GetMessage2(System.Exception)' ComiCalc.Data D:\2014Develop\.vsonline\ComiCalc\src\ComiCalc.Data\Services\UserService.cs 61

  • Si cambio tanto la llamada como la definición del método (solo 2 ediciones en 2 lugares) a GetMessage2, entonces recibo exactamente el mismo mensaje de error que solo se refiere a GetMessage2.

  • Usando VS 2015

¿Algunas ideas?

ingrese la descripción de la imagen aquí

y aquí está el único método:

 namespace ComiCalc.Data { using System; using System.Data.Entity.Validation; using PluralTouch.DataAccess; // TODO: Move to PluralTouch public static class ExceptionExtensions { public static string GetMessage2(this Exception exception) { var message = exception.Message; if (exception is DbEntityValidationException) { message = ((DbEntityValidationException) exception).DbEntityValidationResultToString(); } return message; } } }

ingrese la descripción de la imagen aquí

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Asegúrese de no hacer referencia al binario de salida en las referencias de su proyecto (es decir, el proyecto hace referencia a sí mismo). Esto me sucedió en el pasado con Resharper (la adición del binario de salida a las referencias del proyecto), por lo que el método de extensión está tanto en la fuente como en la referencia binaria.

over 4 years ago · Santiago Trujillo Denunciar

0

Eliminar carpeta bin> abrir proyecto> construir solución.

over 4 years ago · Santiago Trujillo Denunciar

0

Obtuve el mismo error porque mi proyecto hacía referencia a un dll y, al mismo tiempo, tenía una dependencia transitiva al mismo dll pero en una ruta de archivo diferente.

Lo detecté usando un registro adicional durante la compilación (Herramientas -> Opciones -> Compilación y ejecución -> verbosidad de salida a Detallado o Diagnóstico) al buscar el nombre de la dll de dependencia: en la Tarea "Csc" hubo dos apariciones de /reference con la dll

La solución fue señalar referencias a la misma ruta dll

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda