Frage

Gibt es einen Ansatz, eine Anwendung in .NET in eine native ausführbaren entwickelt zu konvertieren (Quellen sind enthalten)?

Installieren den gesamten Rahmen (bis zu .NET Framework 3.5 SP1) braucht viel Zeit - nicht immer die Computer aus dem Internet aktualisiert werden. Ist es möglich, NGen aufrufen, um unabhängig ausführbaren Dateien zu produzieren?

Danke

Keine korrekte Lösung

Andere Tipps

Es ist noch nicht verfügbar, aber das Mono-Projektteam arbeitet an einem Ahead of Time Compiler das wird tun, was Sie suchen. Die Absicht ist, für Mono zur Arbeit auf dem iPhone (wie Unity), aber es sollte für alle Plattformen arbeiten.

Edit: Es tut Unterstützung Mono x86, aber ich bin nicht sicher, ob sie die Funktion aufgenommen haben, dass noch in abhängigen Klassen-Pack (wenn auch aus einem Interview, das ich hörte, es ist geplant)

Edit 2: Abhängigkeiten Einschließlich aktuell unterstützt wird, dank dykam

Nein, NGen'd Code muss noch den Rahmen - es ist nur vorge JITs den Code in Ihren eigenen vier Baugruppen. Es erfordert auch den Rahmen für die CLR selbst.

Ich glaube, Mono hat einen statischen Compiler, die sie planen für das iPhone zur Verwendung. Ich weiß nicht, ob das auch wenn unter Windows funktionieren.

Es verwendet ein Produkt sein Thinstall genannt, die einige Leute zum Einsatz. Es ist jetzt ThinApp genannt - im Grunde ist es der Anwendung Virtualisierung. Es ist kommerziell, aber Sie können auch in der Lage sein, hält eine Testversion zu erhalten.

Persönlich würde ich über eine solche Produkt etwas besorgt sein - wenn es um die Bereitstellung kommt, veering weg vom Mainstream Art und Weise der Dinge klingt wie ein Rezept für viele Support-Anrufe zu tun. Es gibt nur eine ganze Menge schief gehen. Ich sage nicht, es funktioniert nicht, nur, dass ich vorsichtig sein würde.

Haben Sie bei der . NET 3.5 (SP1) Client Profile ? Das kann helfen, Ihre Installationsanforderungen ein wenig zu reduzieren.

Mit .net 3.5 SP1 ist es möglich, eine kleinere Teilmenge des .NET Framework zu installieren. Werfen Sie einen Blick auf diesen Screenshot: Visual Studio Projekteigenschaften
(Quelle: windowsclient.net )

Sie können NGen verwenden, um Ihre Anwendung eine native ausführbar zu machen, aber es wird immer noch auf dem .NET-Framework abhängig sein.

NGen kompiliert die EXE-Dateien zu nativem Exen, so dass sie JIT nicht sein müssen zusammengestellt, wie sie ausgeführt werden. Sie sind immer noch abhängig von Rahmen though.

Es gibt einige kommerzielle Unternehmen, die Produkte tun bieten für .NET-Assemblies in eigenständige EXE-Dateien zu kompilieren. Xenocode und VMwares Thinapp . Weder sind billig aber.

Einige Obfuscators dies tun, würden Sie es vorher allerdings tun müssen (bevor Sie es an die Benutzer versendet). Ein Beispiel dafür ist remotesoft des Salamander .

Sie werden nur die Version von .NET installieren müssen, dass Sie zielen z.B. .NET1.1 oder .NET2.0

Bearbeiten : Wenn Sie die Version 3.5 zum Ziel benötigen, müssen Sie sowohl 2,0 und 3,5

installieren

ILMerge (Free) mehrere Baugruppen in eine kombinieren kann, aber ich glaube nicht, dass es mit dem Kern Runtimes funktioniert.

Kurz gesagt: Ich glaube, dass, wenn Sie .NET-Programme ausführen möchten, müssen Sie das .NET Framework installiert ist.

Es ist ein kommerzielles Produkt, das behauptet, dass hier zu tun:

http://www.xenocode.com/Obfuscator/

"Bereitstellen von .NET-Anwendungen sicher, ohne .NET Framework installieren"

Keine Ahnung, was die Nachteile dieser allerdings wären

ThinApp (ehemals Thinstall) von vmware. Gebrauchte sehr teuer zu sein, aber.

http://www.vmware.com/products/thinapp/

Das einzige Produkt, das wir das Problem im Jahr 2007 zu lösen gegründet wurde Xenocode Postbuild . Von dieser Zeit haben wir dieses Produkt erfolgreich nutzen, verwenden wir seine ziemlich gute Virtualisierungsfunktionen auch.

Das einzige Problem ist, dass die Version, die wir nicht die Unterstützung für Windows 7 gekauft haben (wo Sie nicht brauchen, .net Framework zu installieren Ihr Programm mit Version kompiliert ausführen <4,0). Also schrieb ich an Xenocode. Sie antworteten

  

Um Unterstützung zu erhalten für Win 7 Sie auf die neueste Version von Postbuild-Upgrade sollte (jetzt .NET Obfuscator ). Win 7 ist keine unterstützte Plattform für Postbuild 2007.

Warum nicht Ngen.exe? http://msdn.microsoft.com/en- us / library / 6t9t5wcf (v = vs.80) aspx

Es wandelt .Net Programs in Native Programs auch, und Sie haben es bereits, wenn Sie das .Net Framework

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