Foros del Web » Programando para Internet » ASPX (.net) »

Error escurridizo No se encuentra el miembro público 'ifNull' en el tipo 'e'

Estas en el tema de Error escurridizo No se encuentra el miembro público 'ifNull' en el tipo 'e' en el foro de ASPX (.net) en Foros del Web. Hola, estoy teniendo un error al pasar a producción. Al depurar el error no aparece y en principio al compilar en configuración "Debug" tampoco, aparece ...
  #1 (permalink)  
Antiguo 20/09/2011, 10:07
Avatar de PosProdukcion  
Fecha de Ingreso: noviembre-2004
Ubicación: Manzanares el Real (Madrid)
Mensajes: 726
Antigüedad: 20 años
Puntos: 9
Error escurridizo No se encuentra el miembro público 'ifNull' en el tipo 'e'

Hola, estoy teniendo un error al pasar a producción. Al depurar el error no aparece y en principio al compilar en configuración "Debug" tampoco, aparece tras compilar en modo "Release" o volver fespués de esto a compilar en modo "Debug", no se si esto está relacionado con el error o es casualidad.

El error es el siguiente, ocurre en un OnClick de un botón:

la función IfNull es una función de un módulo y en principio solo es llamada con sus argumentos correctos, enteros y string, no se por qué aparece aquí

Código:
No se encuentra el miembro público 'ifNull' en el tipo 'e'.
Descripción: Excepción no controlada al ejecutar la solicitud Web actual. Revise el seguimiento de la pila para obtener más información acerca del error y dónde se originó en el código.

Detalles de la excepción: System.MissingMemberException: No se encuentra el miembro público 'ifNull' en el tipo 'e'.

Error de código fuente:

Se ha generado una excepción no controlada durante la ejecución de la solicitud Web actual. La información sobre el origen y la ubicación de la excepción pueden identificarse utilizando la excepción del seguimiento de la pila siguiente.

Seguimiento de la pila:

[MissingMemberException: No se encuentra el miembro público 'ifNull' en el tipo 'e'.]
   Microsoft.VisualBasic.CompilerServices.Container.GetMembers(String& MemberName, Boolean ReportErrors) +509081
   Microsoft.VisualBasic.CompilerServices.NewLateBinding.LateGet(Object Instance, Type Type, String MemberName, Object[] Arguments, String[] ArgumentNames, Type[] TypeArguments, Boolean[] CopyBack) +222
   q.a(String A_0, String A_1, Int32 A_2, Int32 A_3, Int32 A_4) +570
   _nzine.WebForm1.a(Object A_0, EventArgs A_1) +985
   System.Web.UI.WebControls.Button.OnClick(EventArgs e) +111
   System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +110
   System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10
   System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13
   System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +36
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1565


Información de versión: Versión de Microsoft .NET Framework:2.0.50727.4927; Versión ASP.NET:2.0.50727.4927
¿Sabéis por qué puede ocurrir este error?

Gracias
  #2 (permalink)  
Antiguo 20/09/2011, 14:59
Avatar de AWesker  
Fecha de Ingreso: octubre-2008
Mensajes: 177
Antigüedad: 16 años, 1 mes
Puntos: 27
Respuesta: Error escurridizo No se encuentra el miembro público 'ifNull' en el tipo '

Eso no es nada del otro mundo... a muchos nos pasan esas cosas, creeme, la implementación es más infartante... pues, podrías poner la función ifNull (declaración y todo) y la forma en la que la llamas y utilizas.

Saludos...
  #3 (permalink)  
Antiguo 20/09/2011, 15:52
Avatar de PosProdukcion  
Fecha de Ingreso: noviembre-2004
Ubicación: Manzanares el Real (Madrid)
Mensajes: 726
Antigüedad: 20 años
Puntos: 9
Respuesta: Error escurridizo No se encuentra el miembro público 'ifNull' en el tipo '

Está dentro de un módulo, no pertenece a ninguna clase ni es llamada con ningún tipo "e"

Saludos

Código vb:
Ver original
  1. 'ifNull(valor, defaultInteger)
  2.    'Si valor="" devuelve default, sino "valor"
  3.    'Funcion sobrecargada en funcion del tipo de salida: Integer, string, etc.
  4.    Public Function ifNull(ByVal valor As String, ByVal sinulo As Integer) As Integer
  5.         Dim valor1 As Integer
  6.  
  7.         Try
  8.             If valor = "" Then
  9.                 valor1 = sinulo
  10.             Else
  11.                 valor1 = CInt(valor)
  12.             End If
  13.  
  14.             Return valor1
  15.         Catch
  16.             Return sinulo
  17.         End Try
  18.     End Function
  19.  
  20.     'ifNull(valor, defaultString)
  21.    Public Function ifNull(ByVal valor As String, ByVal sinulo As String) As String
  22.         Dim valor1 As String
  23.  
  24.         Try
  25.             If valor = "" Then
  26.                 valor1 = sinulo
  27.             Else
  28.                 valor1 = CStr(valor)
  29.             End If
  30.  
  31.             Return valor1
  32.         Catch
  33.             Return sinulo
  34.         End Try
  35.     End Function
  #4 (permalink)  
Antiguo 20/09/2011, 16:16
Avatar de AWesker  
Fecha de Ingreso: octubre-2008
Mensajes: 177
Antigüedad: 16 años, 1 mes
Puntos: 27
Respuesta: Error escurridizo No se encuentra el miembro público 'ifNull' en el tipo '

Tenés razón... al parecer todo esta bien. Antes de hecharle la culpa al framework (buena excusa) ¿podés poner la forma en la que la mandás a llamar y/o utilizás?
  #5 (permalink)  
Antiguo 21/09/2011, 02:35
Avatar de PosProdukcion  
Fecha de Ingreso: noviembre-2004
Ubicación: Manzanares el Real (Madrid)
Mensajes: 726
Antigüedad: 20 años
Puntos: 9
Respuesta: Error escurridizo No se encuentra el miembro público 'ifNull' en el tipo '

Pues la llamada no tiene nungún misterio, y no tiene nada que ver con el tipo "e" que sale en el mensaje del error ni hay error de compilación ni nada

Código vb:
Ver original
  1. Dim valor as Integer
  2.  
  3. valor = IfNull(otro_valor, 3)

saludos
  #6 (permalink)  
Antiguo 21/09/2011, 07:48
Avatar de AWesker  
Fecha de Ingreso: octubre-2008
Mensajes: 177
Antigüedad: 16 años, 1 mes
Puntos: 27
Respuesta: Error escurridizo No se encuentra el miembro público 'ifNull' en el tipo '

Me parece muy raro... se me ocurre que puede ser la variable de error/excepcion que se utiliza en los try catch; de alguna forma ha de crearse ambigüedad o algo por el estilo. Supongo que no perdés nada con intentar esto:

En la parte del Catch agrega una variables para los errores (o sea ex): Catch ex As Exception. Si hay error que te lo muestre en un label o cualquier otro control (lo vas a remover después, claro).

Etiquetas: asp, encuentra, framework, ifnull, tipo, visual
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:06.