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:
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));