none
Referencia a objeto no establecida como instancia de un objeto C#. RRS feed

  • Pregunta

  • Hola a todos.

    tengo una aplicación desarrollada en C# por otra persona. En el trabajo me pidieron que esa aplicacion la instale en otra pc.

    Resulta que cuando la ejecuto me dice el error Referencia a objeto no establecida como instancia de un objeto.

    El problema es que cuando me dice el error, me da la direccion de los archivos que no puede leer, pero los archivos estan.

    Por lo que me dijeron, para ejecutar esa app en otras pc, tienen que copiar toda la imagen de windows de la pc donde se desarrollo (o funciona) y pasarla a una nueva pc.

    Dejo el fragmento del error a ver si me pueden ayudar.

    **** Texto de la excepción **************
    System.NullReferenceException: Referencia a objeto no establecida como instancia de un objeto.
       en TBV101FSH.Core.XmlDeserializer.Deserialize(String data, Type objType) en C:\Users\CoolPay01\Desktop\27-11-2020\Pagos_Activo\TBV101FSH\Core\XmlDeserializer.cs:línea 18

       en TBV101FSH.TBVController.Store(Int32 amount) en C:\Users\CoolPay01\Desktop\27-11-2020\Pagos_Activo\TBV101FSH\TBVController.cs:línea 106

       en ProcesadorPagos.Classes.GUIs.CashGUI.<>c__DisplayClass23_0.<StartAcceptingNotes>b__1() en C:\Users\CoolPay01\Desktop\27-11-2020\Pagos_Activo\ProcesadorPagos\Gui\CashGUI.cs:línea 188

       en System.Threading.Tasks.Task`1.InnerInvoke()
       en System.Threading.Tasks.Task.Execute()

    Esta direccion es de la pc donde funciona perfecto. Si lo ejecuto en otra pc, me aparecen esta direcciones.

    Tambien lo quise compilar en la pc que lo voy a instalar, pero me cambia la direccion a la pc nueva pero sigue dando el error.

    jueves, 15 de abril de 2021 14:26

Respuestas

  • A ver, lo primero: Estas direcciones no tienen nada que ver. Son las direcciones en las que se encontraban los archivos del código fuente cuando se compiló el programa.

    Esos archivos no tienen por qué existir en la máquina de destino. La utilidad que tiene el mensaje de error es que si tienes acceso al código fuente, puedes abrir los archivos correspondientes y de esa manera saber la línea de código fuente en la que se produjo el error.

    Una vez que veas la línea, hay que deducir la causa del error a partir de las variables que haya en esa línea, examinando cómo se inicializan y a partir de ello inferir por qué pudo una de ellas quedar con null (que es el problema que nos dice "Referencia a objeto no establecida...". Esa causa no tiene por qué tener nada que ver con ningún archivo. Puede ser un dato que falta en la configuración, o una entrada que falta en el registro de Windows, o un problema de permisos, un simple error de lógica de programación, o una infinidad de otros problemas, que no se pueden deducir de ninguna manera sin examinar el código fuente.

    jueves, 15 de abril de 2021 16:08
    Moderador

Todas las respuestas

  • A ver, lo primero: Estas direcciones no tienen nada que ver. Son las direcciones en las que se encontraban los archivos del código fuente cuando se compiló el programa.

    Esos archivos no tienen por qué existir en la máquina de destino. La utilidad que tiene el mensaje de error es que si tienes acceso al código fuente, puedes abrir los archivos correspondientes y de esa manera saber la línea de código fuente en la que se produjo el error.

    Una vez que veas la línea, hay que deducir la causa del error a partir de las variables que haya en esa línea, examinando cómo se inicializan y a partir de ello inferir por qué pudo una de ellas quedar con null (que es el problema que nos dice "Referencia a objeto no establecida...". Esa causa no tiene por qué tener nada que ver con ningún archivo. Puede ser un dato que falta en la configuración, o una entrada que falta en el registro de Windows, o un problema de permisos, un simple error de lógica de programación, o una infinidad de otros problemas, que no se pueden deducir de ninguna manera sin examinar el código fuente.

    jueves, 15 de abril de 2021 16:08
    Moderador
  • Hola Ignacio,

    Gracias por levantar tu consulta en los foros de MSDN.

    Eric Ruiz

    ____________________________

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde.

    Si tiene algún cumplido o reclamo sobre el soporte de MSDN siéntase en la libertad de contactar MSDNFSF@microsoft.com.

    jueves, 15 de abril de 2021 18:01
    Moderador