2 Stimmen

Kann Visual Studio 2008 Standard eine einzelne EXE erstellen, die kein .NET Framework benötigt?

Dies ist wirklich eine Anfängerfrage, also entschuldige ich mich im Voraus.

Ich habe Visual Studio 2008 Standard installiert und würde gerne eine kleine Windows-Anwendung erstellen, die KEIN .NET-Framework benötigt, wenn sie auf Computern ausgeführt wird. Unterstützt VS 2008 Standard eine solche Funktion? Jeder Hinweis darauf, wie man dies erreichen kann, wäre fantastisch.

Vielen Dank im Voraus.

0voto

Und was ist mit VB in Visual Studio 2008 Standard? Wurde die VB-Engine für die .NET-Plattform neu geschrieben?

0 Stimmen

Chris hat Recht, dass VB.NET (das mit VS 2008 ausgelieferte Programm) die .NET-Laufzeitumgebung benötigt. Ich denke, wenn Sie C# oder VB von VS 2008 verwenden möchten, müssen Sie die .NET-Laufzeitumgebung mit ihm zu verwenden.

0voto

Bob Moore Punkte 6498

VB.Net hat wenig mit VB6 gemeinsam. Wenn Sie den Grad des Unterschieds verstehen wollen, lesen Sie http://vb.mvps.org/vfred/breaks.asp

0voto

Auch,

Es soll mehrere kostengünstige (d.h. eher billige) Tools geben die die DLL(s) von Nicht-Netz-Anwendungen miteinander verknüpfen, wie z.B.:

  1. Molebox Pro (eu 100)
  2. BitArt's Fusion ($160)
  3. VB-Wickel ($100)
  4. PE-Paket ($30)

Zusätzlich,

Es gibt ein schutzorientiertes Tool namens "Themida" von www.oreans.com, das, wenn es zusammen mit einem anderen Tool namens "XBundler For Win32/.NET" erworben wird, verspricht es (Zitat) "DLLs und Datendateien, die in eine Anwendung eingebettet werden einer Anwendung".

Themida wird für 200 Euro plus XBundler für 120 Euro verkauft, kann man beides für 320 Euro haben, was nicht zu billig ist, aber aber auch nicht zu teuer.

EXE-Bewunderer :-)

0voto

Joel Punkte 15984

Die einzige Möglichkeit, die ich gesehen habe, ist ein Programm, das das Framework (zumindest die verwendeten Bibliotheken) in die Exe-Datei einbindet, um eine eigenständige Exe aus C# oder VB.net zu erhalten. Und die kosten Geld. Sie werden keine andere Möglichkeit finden, dies zu tun. Das ist so, als würde man versuchen, eine Java-Anwendung ohne die Java-VM auszuführen.

0voto

Sie müssen die redist dll's nicht einsetzen, wenn Sie Ihr c/c++ statisch linken. Sie können das in den Projekteinstellungen erzwingen, indem Sie ein "/MT" an den Kompilierbefehl anhängen (ohne Anführungszeichen), wenn ich mich richtig erinnere. Dann kann er einfach seine Exe verschicken und muss nicht auch noch die crt dlls verschicken.

Das bedeutet natürlich, dass er neu veröffentlichte Funktionen in Windows-Updates dieser DLLs nicht übernehmen kann, aber ich nehme an, es gibt immer einen Kompromiss.

--edit: Ok, ich habe den Schalter gefunden, der dieses Argument hinzufügt; auf der Eigenschaftsseite, Konfigurationseigenschaften -> C/C++ -> Codegenerierung sollte "Runtime Library" auf eine "non-dll"-Option gesetzt werden. Die beiden sind /MT und /MTd (debug).

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X