Mi aplicación funciona muy bien en todos los ordenadores que tiene Visual Studio instalado, pero no funciona en el equipo que no tiene Visual Studio.

La aplicación se bloquea en el arranque, con este mensaje en el Visor de Sucesos:

Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.TypeInitializationException
Stack:
at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.DoApplicationModel()
at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.Run(System.String[])
at IssueTrackingSystem.My.MyApplication.Main(System.String[])

He probado una aplicación sencilla con un solo botón, los mismos resultados.

.NET 4.0 de la aplicación lanza la excepción en un equipo sin Visual Studio

ACTUALIZACIÓN:

.NET 4.0 de la aplicación lanza la excepción en un equipo sin Visual Studio

¿Los equipos de destino tiene .NET 4 instalado?
Añadir un catch bloque y comprobar la InnerException.
También, asegúrese de que la máquina de destino tiene el pleno .NET 4, no sólo el «.NET 4 Perfil de Cliente,» si las necesidades de su aplicación.
¿Cómo se implementa la aplicación en la máquina que no han VS?
Acabo de copiar el exe.

OriginalEl autor Ezi | 2011-06-14

5 Comentarios

  1. 7

    Usted necesita para obtener la excepción del InnerException para saber realmente lo que está mal. Proyecto + Propiedades, pestaña Aplicación, haga clic en la Vista de Eventos de Aplicación de botón. En la parte superior izquierda de la combobox por encima de la ventana del editor de seleccionar «(MyApplication Eventos)», en el derecho combobox seleccione «Inicio».

    Que se agrega el Inicio de controlador de eventos. Hacer que se vea similar a este:

        Private Sub MyApplication_Startup(sender As Object, e As Microsoft.VisualBasic.ApplicationServices.StartupEventArgs) Handles Me.Startup
            AddHandler AppDomain.CurrentDomain.UnhandledException, AddressOf KaboomHandler
        End Sub
    
        Private Sub KaboomHandler(sender As Object, e As UnhandledExceptionEventArgs)
            MsgBox(e.ExceptionObject.ToString())
            Environment.Exit(1)
        End Sub

    Ahora vamos a obtener una traza de la pila que incluye el interior de la excepción. Que debe ser lo suficientemente bueno para encontrar el constructor estático que las bombas. Post el seguimiento de la pila de ves en tu pregunta si eso no ayuda.

    He añadido el error que tengo uso de su código.
    A mi me parece que usted no implementar la versión correcta de la DevExpress los componentes.

    OriginalEl autor Hans Passant

  2. 5

    Un System.TypeInitializationException se produce cuando un constructor para cualquier tipo lanza una excepción que no se detecta y maneja adecuadamente. Inicialización estática de los campos también producir esta excepción. Usted tendrá que determinar qué tipo es y depuración en consecuencia. Lo más probable, como otros carteles han dicho, no tienes algo configurado/desplegado en el equipo de destino.

    He visto esto suceder al intentar acceder al archivo de configuración de las entradas que no existen, cuando las bibliotecas no estaban presentes, etc. Hasta llegar a la detallada excepción (usted debe ser capaz de examinar el interior de la excepción), va a ser más difícil de reducir.

    ACTUALIZACIÓN:

    Intente esto en su aplicación.config como el artículo en el mensaje de error indica que:

    <configuration>
       <runtime>
          <NetFx40_LegacySecurityPolicy enabled="true"/>
       </runtime>
    </configuration>
    Gracias. el error cambiado ahora…

    OriginalEl autor Dave Ferguson

  3. 2

    Usted debe comprobar la .NET versión instalada en el equipo cliente.

    También revise todos los ensamblados de referencia, y si hay algo inusual, añadir a la .bin carpeta

    OriginalEl autor VMAtm

  4. 0

    Me previamente publicado este en este ASÍ que la pregunta y voy a enlazar aquí ya se mostraba en mis resultados de búsqueda de Google.

    Un resumen de la misma:

    Resulta que para un proyecto con el Marco de Destino como .NET 4.0 o .NET 4.0 CP, hay algunos archivos Dll que no existen .NET 4.5, en mi caso del proyecto Dll de Visual Basic.

    Mi fue un proyecto de Visual Basic (VB6) proyecto de actualizar a Visual Basic .NET (VB.net) y que de alguna manera se necesita el archivo DLL llamado Microsoft.VisualBasic.PowerPacks.Vs.dll situado en

    C:\Program Files\Reference Assemblies\Microsoft\VBPowerPacks\v10.0

    El proyecto de InstallShield que los paquetes de los archivos en el instalador no detecta esta dependencia.

    Sólo he encontrado esto después de darse cuenta de que el Proyecto se ejecuta correctamente con Visual Studio instalado, pero se bloquea con ninguna advertencia específica distinta de ‘Sistema.IOException.FileNotFound’ en el registro de error.

    OriginalEl autor matrixanomaly

Dejar respuesta

Please enter your comment!
Please enter your name here