2009-05-20 7 views
4

Ich möchte ein kleines Dienstprogramm für Windows entwickeln und ich bevorzuge es in C#, weil es einfacher ist (ich bin ein Java-Entwickler).Kann C# kompilierte App auf einem Computer laufen, auf dem .net nicht installiert ist?

Das Dienstprogramm zum Herunterladen von vielen Menschen zur Verfügung und ich nehme an einige von ihnen nicht .NET Framework installiert haben (ist diese Annahme richtig, sage ich xp Ziel und oben gewinnen?)

Meine Frage ist, : Kann aC# -Anwendung so kompiliert werden, dass das .NET Framework nicht installiert sein muss?

+0

+1 wegen 'ich bevorzuge das in C# weil es einfacher ist (ich bin ein Java-Entwickler)' - ** episch. ** –

Antwort

6

Normalerweise wird .NET Framework auf dem Zielsystem installiert. Es gibt keinen einfachen Weg dahin.

Bestimmte Drittanbieter-Tools wie Xenocode oder Salamander ermöglichen Ihnen jedoch das Erstellen von Standalone-Anwendungen. Sehen Sie diese ähnliche Frage:

Is there some way to compile a .NET application to native code?

Da diese Lösungen sind nicht geradlinig und erfordern kommerzielle Produkte Ich würde Ihnen empfehlen, ein einfaches Visual Studio Setup und Bereitstellung Projekt zu erstellen. In den Eigenschaften des Projekts sollten Sie .NET Framework als Voraussetzung einschließen. Die erstellte Datei setup.exe lädt das .NET Framework vor der Installation Ihrer Anwendung automatisch herunter und installiert es.

5

Nein, das .NET Framework muss installiert sein. Beachten Sie jedoch, dass Sie nur die weitervertreibbare Version und nicht das SDK benötigen.

+0

-1: http://www.mono-project.com/ AOT –

0

Sie können wahrscheinlich auch das .NET Framework-Installationsprogramm in Ihre Anwendung aufnehmen.

4

Eine Nebensache - aber in diesem Szenario, in Betracht ziehen, das Dienstprogramm in Silverlight zu entwickeln - es hat eine viel kleinere Grundfläche und wird auf einer Reihe von Betriebssystemen unterstützt. Dadurch können Sie möglicherweise die Abdeckung abrufen, einschließlich Personen, die .NET noch nicht haben.

Wenn Sie "normales" .NET benötigen, dann ist "Client Profile" vielleicht eine Option.

+0

+1 - sogar XAML kann auf Moonlight (Monos Silverlight) verwendet werden, was mich bereits auf Silverlight gebracht hat. Aber es ist nicht viel kleiner als das .NET-Client-Profil. –

0

In einer verwandten Frage, Can you compile C# without using the .Net framework?, ist es erwähnt, dass Sie dies mit mkbundle von Mono tun können. Ich habe es selbst nicht versucht, also kann ich nicht sagen, ob es so ist, wie du es solltest, aber du solltest es vielleicht in Betracht ziehen.