Laden...

Visual Studio Pro 2010 - erstellen von WinForm-Projekt für .NET 2.0 läuft auf Fehler

Letzter Beitrag vor 11 Jahren 8 Posts 1.372 Views
Visual Studio Pro 2010 - erstellen von WinForm-Projekt für .NET 2.0 läuft auf Fehler

Hallo zusammen,

ich habe in VS2010 Pro ein Softwareprojekt erstellt, dass ich für eine Umgebung auf .NET 2.0 konfiguriert habe. In den ganzen Projekteigenschaften ist .NET 2.0 auch angegeben.

NAch dem Kompilieren läuft das Programm aber nur auf .NET 4.0 Rechnern. Bei .NET 2.0 Clients kommt nur eine Fehlermeldung > Fehlermeldung:

Fehlerbericht senden/nicht senden

Hat noch jemand eine Idee, woran es liegen könnte?

Wäre super dankbar für eine schnelle Antwort.

Grüße
Adleano

Sonstige Abhängigkeiten vorhanden, die auf den .NET 2.0 Clients eventuell nicht vorhanden sind (Datenbank-Runtimes etc.)?

Wenn du an keine Informationen weiter herankommst, was fehlgelaufen ist, stellt sich die frage, ob du das programm noch ändern kannst, um zB unbehandelte Ausnahmen zu loggen, um an weitere Informationen zu kommen.

mfg
Serial

nicht dass ich wüsste. Hab das Projekt die ganze Zeit während der Entwicklungsphase auf 2.0 gelassen. DB-Funktionalitäten hab ich keine drin.

Problem ist dass ich halt garnix erkennen kann woran es liegt.

Wenn er beim Aufruf der Exe schon scheitert, kann man das dann auf dieses Projekt eingrenzen oder kann der Fehler überall stecken?

Mach doch den einfachen Test:

  • Neues 2.0FW Projekt anlegen
  • Release erstellen und versuchen das leere Projekt auf deinen Clients auszuführen

Ich hatte mal das gleiche Problem.

Ich habe dann einfach vor jeden Befehl in der Main-Methode ein Messagebox geschaltet, die mir einfach den Befehl angezeigt hat. Da siehst Du dann nämlich genau, in welcher Zeile das Programm aussteigt.
Da kommt dann bestimmt die große Glübirne 😃

sorry, hab mich unklar ausgedrückt.
Neue 2.0 Projekte kann ich erstellen.
Ich meinte dass die Gesamtanwendung aus mehreren Projekten besteht. Und die Exe ist in einem von diesen sozusagen "Unterprojekten" des gesamten Programms.

ich habs gefunden. Folgende Zeilen waren daran schuld:

//.NET Version auslesen
RegistryKey installed_versions = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\NET Framework Setup\NDP");
string[] version_names = installed_versions.GetSubKeyNames();
//version names start with 'v', eg, 'v3.5' which needs to be trimmed off before conversion
double netversion = Convert.ToDouble(version_names[version_names.Length - 1].Remove(0, 1), CultureInfo.InvariantCulture);
_NETVersion = version_names[version_names.Length - 1].Remove(0, 1);
int SP = Convert.ToInt32(installed_versions.OpenSubKey(version_names[version_names.Length - 1]).GetValue("SP", 0));