Frage

Ist es bei der Entwicklung einer Desktop-Anwendung in .NET möglich, das .NET Framework nicht zu benötigen?Ist die Entwicklung von Software in .NET eine bevorzugte Methode zur Entwicklung von Desktop-Anwendungen?Welche ist die am häufigsten verwendete Programmiersprache, die Softwareunternehmen zur Entwicklung von Desktop-Anwendungen verwenden?

Werden die Anforderungen des .NET Framework nur auf der Grundlage des von Ihnen installierten Windows-Betriebssystems angenommen, weshalb darin die Versionsanforderungen des Windows-Betriebssystems aufgeführt sind?

War es hilfreich?

Lösung

Sie können weiterhin Anwendungen für den Windows-Desktop mit C/C++ entwickeln, wodurch die Notwendigkeit des .NET-Frameworks entfällt, Sie müssen jedoch sicherstellen, dass die erforderlichen Bibliotheken bereits auf dem System vorhanden oder installiert sind.

Das Schöne am .NET Framework ist, dass in Windows XP SP2 und Vista standardmäßig die 3.0 Framework Runtime installiert ist.

In vielerlei Hinsicht ist dies der „Entwicklungsstandard“ von Microsoft und das schon seit einiger Zeit.Dadurch müssen Sie sich keine Sorgen darüber machen, dass Ihrer Anwendung eine Menge Bibliotheken hinzugefügt werden.Wenn Sie sich an alle von .NET bereitgestellten Bibliotheken halten, müssen Sie sich am Ende nur um die Bereitstellung Ihrer ausführbaren Datei kümmern, was eine große Erleichterung darstellt.Wenn Sie über eine Reihe von Bibliotheken verfügen, die Sie ebenfalls bereitstellen müssen, treten beim Schreiben von Updates Probleme auf, da Sie sicherstellen müssen, dass diese Updates in Ihrem vorhandenen Installationsprogramm und an alle vorhandenen installierten Apps verteilt werden .

Was „bevorzugt“ angeht, so ist das immer etwas irritierend, aber auf den Jobsuchseiten, die ich normalerweise besuche, werden immer mehr .NET-Entwickler für das Web und den Desktop gesucht.8^D

BEARBEITEN:Vielen Dank an Orion für den Hinweis auf meine Verwirrung bezüglich der Frameworks.Wenn Sie XP SP2 oder Vista verwenden, erhalten Sie sofort 3.0.Alles andere erfordert einen einfachen Download oder die Ausführung von Windows Update.

Andere Tipps

Sie können eine .Net-App nicht ohne das .Net-Framework ausführen.Das Framework übernimmt einige der mühsameren Hintergrundaufgaben, sodass Sie die App nicht ohne das Framework ausführen könnten.

Auf der Windows-Plattform ist die Verwendung von .NET die bevorzugte Methode zur Entwicklung von Desktop-Anwendungen.Das WinForms-Modell von .NET ist eine Möglichkeit, herkömmliche oder Thick-Client-Apps zu entwickeln, wobei Windows Presentation Foundation von .NET die neueste Technologierichtung von MS ist.

Ich denke, was ich damit sagen möchte, ist, dass ich, wenn ich mir die Systemanforderungen für bestimmte Software ansehe, das .NET Framework selten als Voraussetzung sehe.Daher frage ich mich immer, wie sie ohne eine Anforderung auskommen (wenn sie die Software in .NET entwickelt haben).Ich gehe also einfach davon aus, dass die meiste kommerzielle Software nicht in .NET geschrieben ist, deshalb stelle ich diese Frage.Ich hoffe, das hat einiges geklärt.

Mono Verfügt über eine Windows-Version, wenn Sie unbedingt eine Abhängigkeit von .NET vermeiden müssen.

Wie auch immer Sie es betrachten, Sie benötigen jedoch eine .NET-kompatible Laufzeit auf jedem Computer, auf dem Ihre Anwendung ausgeführt wird.Wenn Sie also vollständig auf .NET verzichten möchten, müssen Sie wahrscheinlich die Mono-Laufzeitumgebung zusammen mit Ihrer Anwendung verteilen.

Die beste Vorgehensweise für die .NET-Anwendungsverteilung besteht darin, dass das Installationsprogramm irgendwie mit dem .NET Redistributable-Installationsprogramm für das erforderliche Framework gebootstrappt wird, sodass das Installationsprogramm dies tut, wenn das erforderliche Framework noch nicht installiert ist (z. B. Sie benötigen 3.5 in Windows XP). einfach reinstecken.

Die .NET-Laufzeitumgebung ist als Installation klein genug, um dies zu ermöglichen (sie beträgt etwa 24 MB für .NET 2.0, ich habe nicht überprüft, wie groß .NET 3.5 ist).

Ich denke, ich versuche zu sagen, dass ich, wenn ich die Systemanforderungen für bestimmte Software betrachte, das .NET -Framework selten als Anforderung ansehe.Also frage ich mich immer, wie sie auskommen, ohne dass dies eine Anforderung ist (wenn sie die Software in .NET entwickelt haben).Ich gehe also nur davon aus, dass die meisten kommerziellen Software nicht in .NET geschrieben sind. Deshalb stelle ich diese Frage.Ich hoffe, das hat einiges geklärt.

Ich habe keine Zahlen, aber ich gehe davon aus, dass die Auflistung des .NET-Frameworks irrelevant ist, da die meisten Leute da draußen XP und Vista auf ihren Desktops verwenden, insbesondere wenn sie auf das 2.0-Framework abzielen Anwendung selbst.Wie viele Anwendungen sahen Sie früher mit der Aufschrift „erfordert vbrun50.dll“ oder etwas Ähnlichem, seit sie standardmäßig in die Windows-Installationen integriert waren?

Außerdem ist es für diejenigen, die sich nicht besonders gut mit Computern auskennen, etwas weniger „beängstigend“.Sie möchten lediglich die App herunterladen, installieren und ausführen.Einige der Apps, die ich da draußen habe, erfordern das 2.0-Framework und einige Leute fragen mich, was das ist und wie ich es bekomme und ob es mich etwas kostet?Die typische Antwort, die ich ihnen gebe, ist „Wenn Sie XP oder Vista verwenden, gibt es keinen Grund zur Sorge“, und das scheint ihnen zu gefallen.

Ich denke, wenn Sie in der Lage wären, das .NET-Framework statisch zu verknüpfen, sodass Sie es nicht entwickeln müssten, würden Sie gegen die EULA verstoßen, die Microsoft bereitstellt!

Das ist der Preis, den wir für eine so umfassende Entwicklererfahrung zahlen müssen!Es lohnt sich, wenn man bedenkt, wie schwierig es ist, zur MFC-Programmierung zurückzukehren!

Remotesoft bietet einen Linker an – 1250 $ für eine einzelne Entwicklerlizenz: http://www.remotesoft.com/linker/index.html

Wenn Ihre Anwendung auf Mono läuft (und die Winform-Desktop-Unterstützung von Mono mittlerweile ziemlich gut ist), können Sie Ihre App als Mono-Bundle packen, bei dem es sich um eine einzelne ausführbare Datei handelt.Es gibt zwei Optionen: Die Standardeinstellung schließt die Laufzeit ein, stellt aber keine statische Verknüpfung zu ihr her, die andere verknüpft Sie statisch mit der Mono-Laufzeit.Der Grund, warum Sie möglicherweise keinen statischen Link verwenden möchten, besteht darin, dass Ihre Anwendung dadurch unter die LGPL gestellt würde.Für Bundles, die nicht statisch verknüpft sind (immer noch nur eine einzelne Exe), gilt diese Anforderung nicht.http://www.mono-project.com/Mono:Runtime#Bundles

Sie könnten die Verwendung in Betracht ziehen „ClickOnce-Bereitstellung“, was es sehr einfach macht, Ihrer Anwendung Bootstrapping der weiterverteilbaren .Net 2.0-, 3.0- und/oder 3.5-Installationsprogramme hinzuzufügen.Klicken Sie einfach auf ein Kontrollkästchen in den Eigenschaften Ihres Projekts und Ihr Installationsprogramm erkennt automatisch, ob das erforderliche Framework installiert wurde, und installiert es, wenn nicht.

Es ist nicht für jede Situation geeignet, aber wenn man es ausnutzt, kann es ziemlich schick sein.

Ich habe etwas in .NET programmiert (mit C#) und mir wurde klar, dass ich oft mehr Kontrolle über eine Reihe von Steuerelementen haben wollte.Hierzu waren Kenntnisse erforderlich, die über das .NET-Framework hinausgingen.

Als ich beispielsweise mit dem WebBrowser-Steuerelement arbeitete, um ein automatisiertes Testtool für Webanwendungen zu erstellen, wurde mir klar, dass es bestimmte Situationen gibt, die Ereignishandler aus dem untergeordneten axWebBrowser ActiveX-Steuerelement erfordern, und die Dokumentation war rar bzw. es waren viele Codebeispiele enthalten COM-Interop-Konzepte.Vielleicht wäre es also hilfreich, etwas über COM-Kenntnisse zu verfügen?

Ich denke, ich versuche zu sagen, dass ich, wenn ich die Systemanforderungen für bestimmte Software betrachte, das .NET -Framework selten als Anforderung ansehe.Also frage ich mich immer, wie sie auskommen, ohne dass dies eine Anforderung ist (wenn sie die Software in .NET entwickelt haben).Ich gehe also nur davon aus, dass die meisten kommerziellen Software nicht in .NET geschrieben sind. Deshalb stelle ich diese Frage.Ich hoffe, das hat einiges geklärt.

Viele mit C++/MFC für Windows-Desktops entwickelte Anwendungen erfordern eine bestimmte Version der MFC-Laufzeit-DLLs, auch wenn diese möglicherweise nicht explizit als Anforderung aufgeführt ist.Ich glaube, dass das Gleiche auch bei Anwendungen zutrifft, die .NET erfordern.

Die Anwendung, an der ich arbeite, wird beispielsweise mit weitervertreibbaren Dateien sowohl für .NET als auch für die bestimmte Version von MFC, die wir benötigen, sowie einer Reihe anderer erforderlicher Komponenten ausgeliefert.Unser Installationsprogramm installiert alle Komponenten, die derzeit nicht auf dem System des Benutzers installiert sind.In jeder Version der letzten Jahre wurde mehr .NET-Code verwendet als in der vorherigen Version.

Ich halte es nicht für richtig anzunehmen, dass die meisten kommerziellen Programme .NET nicht verwenden, nur weil es nicht als Anforderung aufgeführt ist.Ich glaube nicht, dass man daraus etwas genaues vermuten kann.

Das Schöne am .NET-Framework ist, dass Windows XP standardmäßig die 2.0-Framework-Laufzeitbibliothek installiert hat

Seit wann?Ich musste vielen unserer Windows XP-Benutzer sagen, dass sie es installieren sollen.Ja, Sie können es über Windows Update herunterladen, aber ich bin ziemlich sicher, dass es sich um eine optionale Installation handelt und nicht um etwas, das automatisch geschieht.

und Vista hat 3.5 installiert

Nein, es ist 3.0 installiert.Du bekommst WPF, aber du nicht Holen Sie sich Linq

Ja, Sie können eine in dot NET erstellte Anwendung erstellen, ohne das Framework zu verwenden.Sie können ein Programm wie ESS dotNET FuZe verwenden, um beliebige DLLs, einschließlich Framework-DLLs, in die Anwendung einzubinden.Die resultierende EXE-Datei benötigt kein Framework mehr.

Bitte gehen Sie zu diesem Link: http://essaver.net/fuze.html um einen Blick auf FuZe zu werfen.

Es ist möglich, das .NET Framework nicht zu benötigen;Es gibt einige Unternehmen, die (wohlgemerkt für Tausende von Dollar) Lösungen verkaufen, die Ihnen dies ermöglichen.Dabei handelt es sich jedoch um komplette Hacks, die von Microsoft nicht unterstützt werden.

Wie Sie Desktop-Anwendungen entwickeln (z. B. mit .NET oder nicht), hängt von Ihren Anforderungen ab.Es gibt keinen bevorzugten Weg.

Die am häufigsten verwendete Sprache ist wahrscheinlich C#.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top