Announcement

Collapse
No announcement yet.

XP=fehlerhafter Einsprung / Vista=Programm ok

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • XP=fehlerhafter Einsprung / Vista=Programm ok

    VS2005 SP1,C#, SQLExpress
    Habe ein Programm (EXE) welches unter Vista einwandfrei läuft
    aber unter XP neuerdings Merkwürdigkeiten hat.

    Unter XP wurde das Programm mit ngen einmal compiliert (GAC),
    vielleicht ist dies ja das Problem.

    Das Programm startet seinen Code nicht wie ursprünglich bei

    Form_Load()

    sondern startet mitten drin. Dies hat zur Folge dass er die
    SQL-Connection nicht initialisert und dann folgende Fehlermeldung
    zurückgibt: (im Debugger)

    Execute Reader erfordert eine geöffnete und verfügbare
    Verbindung.

    Der SQL-Server läuft, aber wie gesagt, der Einsprung ins Programm erfolgt mittendrin und nicht am Anfang (Form_Load).


    Wenn man das Programm unter VS2005 /XP rebuildet, oder zusätzlichen Code einfügt z.b. MessageBox.Show()
    ignoriert es diesen einfach, obwohl man es neu kompiliert hat.
    Das Datum/Zeit spielt auch keine Rolle.
    Der neue Code (MessageBox.Show) wird aber unter Vista dann
    ganz normal ausgeführt.

    Alle anderen Programme (VS2005 c#) verhalten sich bezüglich XP / Vista normal.

    Was ist hier passiert ?.
    Vielen Dank.

  • #2
    Entweder ist der Cache der Precompiles defekt.
    Tritt der Fehler nur auf einem PC auf? Evtl. mal .NET Framework komplett deinstallieren und neu installieren. Ab und zu zerschießt sich mal das Framework.

    Comment


    • #3
      Code:
      Unter XP wurde das Programm mit ngen einmal compiliert (GAC),
      vielleicht ist dies ja das Problem.
      ngen und GAC haben nichts miteinander zutun sollte also nicht das Problem sein.
      Das installieren in den GAC auf der Entwicklungsmachine könnt aber schon. Beim Auflösen der Referenzen und Laden der entsprechenden Assemblies wird zuerst im GAC nachgeschaut und erst danach lokal.Wenn du also zum Debuggen eine neue Assembly buildest und diese im Projekt lokalen bin Ordner ablegst (standardverhalten) wird trotzdem zuerst die Version im GAC gezogen und nicht die lokal abgelegte.

      Um zu verstehen wie Assemblies vom.NET Framework geladen werden(und von wo) guckst du hier

      Comment

      Working...
      X