.Net Framework für alle Betriebssysteme ab XP

  • VB.NET

Es gibt 70 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    .Net Framework für alle Betriebssysteme ab XP

    Hallo,

    ich programmiere eine Software, die auf allen Betriebssystemen ab XP laufen soll.
    Müsste ich .Net Framework 3.0 nehmen oder doch auf 2.0 zurückgreifen?

    Ich habe testweise mal zwei Windows-Form-Projekte erstellt (mit 3.0 und 2.0). Die Exe-Dateien aus dem bin-Ordner lassen sich auf meinem alten XP-Rechner mit SP2 ausführen.

    Jetzt weiß ich nicht, ob dieses Ergebnis auch auf anderen XP-Computern erzielt würde...

    Weiß da jemand was?

    Und macht es Sinn evtl auf VS2008 zu programmieren? Habe das eine oder andere Mal gelesen, dass 2008 weniger Probleme macht wegen Kompatibilität...?

    Gruß

    Chefkoch
    Alles klar.
    Ich versuche mal mit 2.0

    Das Ding ist: Ich muss das bisher programmierte komplett neu schreiben.

    Wenn ich in den Projekteigenschaften das 4.0 umändere in 3.0 oder 2.0 läuft das Programm nicht mehr.
    Ist das prinzipiell nicht möglich oder mache ich etwas falsch?
    @haiyyu
    diverse Fehler, wenn ich auf 2.0 stelle:

    Warnung 1 Der Primärverweis "System.Core", bei dem es sich um eine Frameworkassembly handelt, konnte im derzeit als Ziel verwendeten Framework nicht aufgelöst werden. ".NETFramework,Version=v2.0". Zur Beseitigung des Problems muss entweder der Verweis "System.Core" entfernt oder die Anwendung erneut als Ziel für eine Frameworkversion verwendet werden, die ".NETFramework,Version=v2.0" enthält.

    Warnung 2 Der Primärverweis "System.Xml.Linq" konnte nicht aufgelöst werden, da er eine indirekte Abhängigkeit von der Frameworkassembly "System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" aufweist, die im derzeit als Ziel angegebenen Framework nicht aufgelöst werden konnte. ".NETFramework,Version=v2.0". Zur Beseitigung des Problems muss entweder der Verweis "System.Xml.Linq" entfernt oder die Anwendung erneut als Ziel für eine Frameworkversion verwendet werden, die "System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" enthält.

    Fehler 6 Die Assembly "obj\x86\Debug\AxInterop.WMPLib.dll", auf die verwiesen wird, konnte nicht geladen werden. BadImageFormatException mit der Information "Die Datei oder Assembly "C:\.....\obj\x86\Debug\AxInterop.WMPLib.dll" oder eine Abhängigkeit davon wurde nicht gefunden. Die Assembly wird von einer Laufzeit erstellt, die aktueller als die derzeit geladene Laufzeit ist, und kann nicht geladen werden." wurde aufgefangen.

    und diverse weitere...

    vielleicht weißt du jetzt, was es sein könnte?

    picoflop schrieb:

    FW 4 wird unter XP unterstützt. Punkt.

    Gibt es "echte" Gründe, KEIN FW 4 einzusetzen? Vermutlich eher nein ...
    Ich habe mein mit FW 4 erstelltes Programm auf meinem XP-Rechner nur durch die zusätzliche Installation von FW4 zum Laufen bekommen. Sonst bekam ich ne Fehlermeldung mit .NET v4.0.30319 und so weiter..., damit die neue FW installiere.

    Wenn das Programm fertig ist, soll es an Tausende Menschen weiter gegeben werden und soll quasi ohne Probleme und Zickereien auf jedem Rechner laufen.

    Ich könnte FW 4 setup.exe mit dazu geben zu jeder Kopie, aber das macht die Sache doch etwas kompliziert für die Endnutzer mit XP, die kein FW 4 installiert haben...

    Oooooder gibt es eine Möglichkeit, FW versteckt mit zu installieren, falls es nicht läuft auf dem Rechner, ohne dass der Nutzer was merkt(zumindest visuell) ?

    Danke :)
    .NET FW 4.0 lässt sich bei meinem XP SP2 installieren.
    Könnte es grundsätzlich Probleme geben, wenn das andere XP-Nutzer auch tun?
    Ich glaube SP2 beinhaltete schon Kompatibilität zu FW 3.0 ohne es zusätzlich installieren zu müssen oder irre ich mich jetzt?
    nein. grundsätzlich gilt nur die faustregel: so niedriges framework wie möglich --> Es gibt noch immer Steinzeitrechner ohne .NET Framwork 4.0


    Opensource Audio-Bibliothek auf github: KLICK, im Showroom oder auf NuGet.

    Chefkoch schrieb:

    Wenn das Programm fertig ist, soll es an Tausende Menschen weiter gegeben werden und soll quasi ohne Probleme und Zickereien auf jedem Rechner laufen.

    Und? Es gibt hunderte/tausende Programme auch von "großen" Firmen, die inzwischen FW3.x oder besser voraussetzen. CDBurnerXP -> FW4!
    Meinst du, dass dein Programm ebenso prominent und verbreitet sein wird, wie zb CDBurnerXP? Vermutlich nicht, gelle. Also ist deine Argumentation vermutlich ... falsch?

    Es gibt noch immer Steinzeitrechner ohne .NET Framwork 4.0

    Ja. Ich benutze auch grundsätzlich nur Win 3.1 und finde es voll unfair, dass keiner mehr auf mich Rücksicht nimmt. BTW: Wer von den XP-Apologeten nutzt eigentlich konsequent das Arbeiten NICHT im Admin Modus? Vermutlich praktisch keiner ("läuft sonst Softare XY nicht vernünftig")? Daraus folgt, es gibt nicht nur jede Menge Steinzeitrechner, sondern auch noch jede Menge potenzieller Extrem-Virenschleudern!
    Es ist durchaus sinnvoll, bei weiterzugebenden Programmen die Network-Version runterzuschrauben.
    Was maint Ihr, wieviele alte Rechner noch rumstehen mit verschimmelter Steinkohle drauf. ?(
    @TE:
    Mache dies schrittweise (4.0 -> 3.5 -> 3.0 -> 2.0), damit Du einfach wieder zurück kannst.
    Wenn ein Verweis klemmt, nimm ihn einfach raus:
    Projekteigenschaften -> Verweise, drauf klicken und entfernen.
    Wenn Du in Deinem Programm diese Komponente tatsächlich benötigst, musst Du zurückschalten.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    RodFromGermany schrieb:

    Was maint Ihr, wieviele alte Rechner noch rumstehen mit verschimmelter Steinkohle drauf

    Was denkst du denn?
    Lt. Forrester liegt der "Marktanteil" von W2K bei deutlich < 1%. Und XP mit SP3 (wer ohne SP fährt, hat mW kein Anrecht auf nen Lebensberechtigungsschein) kann FW4 laufen lassen. Problem solved!

    Es ist durchaus sinnvoll, bei weiterzugebenden Programmen die Network-Version runterzuschrauben.

    Nein.
    Es ist sinnvoll, C/C++ zu lernen und Programme zu schreiben, die außer einer .Exe KEIN weiteres Zutun erfordern. OK, das dauert dann 12 Jahre, das Programm ist fehleranfällig und praktisch unwartbar, aber dann kann man wenigstens als OberProgger dastehen.

    ICH will: Async, PLINQ und Programme, die mir aus den Fingern "fließen".
    @picoflop:
    Komm runter von Wolke 7. :D :D :D
    Ich programmiere nun schon seit ganz vielen Jahren.
    Meine (große) Firma hat mir zur Softwareentwicklung einen XP-Rechner hingestellt, weil das Firmenphilosophie ist.
    Laufen viele Firmen-Rechner in einem Netzwerk oder gar in einem gekapselten Netrzwerk, kann nicht jeder machen, was er will.
    Wenn Du in eine Firma ein Programm verkaufen willst, kann es sein, dass Du gewisse Richtlinien bezüglich des Betriebssystems, FrameWorks und des jeweiligen Service-Packs erfüllen musst.
    In der Medizintechnik-Branche wird ein laufendes (validiertes) System unter gar keinen Umständen upgedatet oder gar ein neues Servicepack aufgespielt, weil dann die gesamte Software wieder validiert werden müsste.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Hallo Chefkoch,

    Fehler 6 Die Assembly "obj\x86\Debug\AxInterop.WMPLib.dll", auf die verwiesen wird, konnte nicht geladen werden. BadImageFormatException mit der Information "Die Datei oder Assembly "C:\.....\obj\x86\Debug\AxInterop.WMPLib.dll" oder eine Abhängigkeit davon wurde nicht gefunden. Die Assembly wird von einer Laufzeit erstellt, die aktueller als die derzeit geladene Laufzeit ist, und kann nicht geladen werden." wurde aufgefangen.

    Die Lösung des Problems sollte in etwa so laufen,

    1. Framework auf 2 runterschrauben
    2. Speichern und IDE neu Starten
    3. Windows Media Player Verweis löschen und wieder neu hinzufügen


    Um wirkliche kompatibilität mit dem WMP erreichen zu können ist es evtl. besser über LateBinding nachzudenken.
    (Das erstmal aber nur als Alternative)

    Die anderen "Fehler" sind nur Warnungen und können für den Anfang ignoriert werden.
    (Verweise die nicht gebraucht werden einfach löschen !)

    Gruss

    mikeb69

    RodFromGermany schrieb:

    Meine (große) Firma hat mir zur Softwareentwicklung einen XP-Rechner hingestellt, weil das Firmenphilosophie ist.

    Und? Da läuft FW 4. Wo ist das Problem?


    In der Medizintechnik-Branche wird ein laufendes (validiertes) System unter gar keinen Umständen upgedatet

    Damit scheidet dann aber ein Software-Update aus denselben Gründen aus und die Frage nach dem Framework stellt sich nicht. Außerdem reden wir hier von Spezialanforderungen, die bei Allerweltsprogrammen NICHT bestehen und die genausogut lauten könnten: Muss OHNE Net Framework lauffähig sein.

    dass Du gewisse Richtlinien bezüglich des Betriebssystems, FrameWorks und des jeweiligen Service-Packs erfüllen musst.

    Das ist eine Auftragsarbeit. Da könnte genausogut gefordert sein, dass das Ganze in Brainfuck geschrieben wird. Wenn's der Kunde zahlt (inklusiver horrender Supportkosten wegen Unwartbarkeit), ist er König. Bei einer "Standard"-Anwendung ist das aber alles nicht gegeben.

    FAKT ist: Die Leute "beschweren" sich, weil FW 4 "installiert" werden muss. Das muss Windows auch. Und jeder Treiber und und und. Das FW 4 Client Profile ist hinreichend "klein" und bei Bedarf problemlos auch als Offline-Version erhältlich. WENN man die entsprechenden Setup-Tools von MS/VS verwendet ist das ganze überdies ein vollautomatischer Prozess bei dem selbst der größte DAU kaum was falsch machen kann.

    FAKT ist: FW4/VS2010 erleichtert dem Programmierer die Arbeit enorm (Schreiben UND warten). Daraus folgt, dass die Gesamtkosten geringer sind, als wenn man das alles mit FW 2 "zusammenfrickelt".

    picoflop schrieb:

    FAKT ist: FW4/VS2010 erleichtert dem Programmierer die Arbeit enorm (Schreiben UND warten). Daraus folgt, dass die Gesamtkosten geringer sind, als wenn man das alles mit FW 2 "zusammenfrickelt".

    Das ist leider nicht so.
    Never change a running system.
    Das ist die Devise.
    Das Programm wird nur an einem oder vllt. 2 bis 4 PCs entwicklet, aber es läuft auf 1000 bis 10000 Rechnern weltweit.
    Und dann gibt es noch die FDA, die lässt dann das Zeug halt nicht in die USA rein.
    Die wissen nicht, wie Softwareentwickler arbeiten, die wissen aber, wie ein vollgepu... Sessel riecht. :D
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Also auf XP ohne SP gibts doch auch kein FW 2.0 -.-*
    Also wat soll das...?!

    Wenn du dein Programm als Setup anbietest, dann lass die Setup einfach das benötigte FW mit installieren und fertig ist die Kiste.
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    ... Nun solltest es selber wissen. :'D