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.

4voto

Charlie Punkte 42390

Sicher, das können Sie auf jeden Fall tun. Allerdings müssen Sie Ihre Anwendung in C++ schreiben.

Gehen Sie dazu auf Datei | Neu, und wählen Sie unter Projekttypen eine der Optionen unter Visual C++. Für die minimalen Abhängigkeiten würde ich eine der Win32-Optionen vorschlagen. Sowohl die Option "Win32-Konsolenanwendung" als auch die Option "Win32-Projekt" führen Sie zum gleichen Assistenten. Wenn Sie auf der linken Seite auf Anwendungseinstellungen klicken, können Sie auswählen, ob Sie eine Konsolenanwendung oder eine Windows-Anwendung erstellen möchten. Eine Konsolenanwendung wird in einem Konsolenfenster wie cmd.exe ausgeführt, während eine Windows-Anwendung anfangs keine Benutzeroberfläche hat (Sie müssen die Benutzeroberfläche selbst erstellen).

Auch wenn Sie nicht von der .NET-Laufzeitumgebung abhängig sind, müssen Sie die CRT-DLLs auf den Rechnern, auf denen Ihr Programm ausgeführt wird, verfügbar haben. Die Redistributables für diese Dlls befinden sich im Visual Studio-Installationsverzeichnis, das bei einer Installation im Standardverzeichnis C:\Program Dateien \Microsoft Visual Studio 9.0 \VC\redist.

0 Stimmen

Sie können die CRT-Dateien jedoch statisch verknüpfen. Das ist eine Option des Linkers. Dadurch wird Ihre ausführbare Datei etwas größer, aber dann ist sie wirklich eine eigenständige ausführbare Datei.

4voto

Corbin March Punkte 25170

Es gibt Compiler von Drittanbietern wie Salamander (verdammt teuer).

Siehe auch: Wie kompiliert man eine .NET-Anwendung in nativen Code?

1voto

MusiGenesis Punkte 72729

Wenn ich eine wirklich eigenständige Windows-EXE-Anwendung einfach erstellen wollte, Ich würde Delphi verwenden . Gut, dass ich das nicht tun will. .NET ist zu nützlich und (zumindest in der Version 2.0) bereits so gut wie überall vorhanden - es ist selten, dass ich einen Client-Rechner sehe, auf dem .NET noch nicht installiert ist, und selbst wenn es nicht vorhanden ist, ist das Installationsprogramm nur 23 MB groß.

Früher, als ich noch mit Visual Basic arbeitete, ärgerte ich mich über den zusätzlichen Aufwand, die VB-Laufzeiten zusammen mit meiner eigentlichen Anwendung bereitstellen zu müssen. Das hat sich nie als großes Problem erwiesen.

0 Stimmen

Scott Hanselman hat Informationen, die Ihnen bei der Suche nach noch kleineren Anlagen helfen (falls zutreffend)... hanselman.com/blog/ y hanselman.com/kleinstesdotnet

0 Stimmen

Ich glaube, die "kleineren" Installationen sind nur kleine Stub-Dinger, die immer noch eine Menge Zeug herunterladen müssen. Ich würde mir die Mühe nicht machen - ich hatte noch nie einen Kunden, der wegen einer 23-MB-Datei gekotzt hat.

1voto

Samuel Punkte 11

Ich hatte das gleiche Problem. Ich habe es folgendermaßen gelöst: Gehen Sie auf die Registerkarte "Erstellen". Klicken Sie auf "Konfigurationsmanager". Auf dem Bildschirm, der sich öffnet, klicken Sie auf das Dropdown-Menü "Debug" und wählen Sie "Release". Klicken Sie auf "Schließen" am unteren Rand. Klicken Sie erneut auf die Registerkarte "Build" und dann auf "Rebuild Solution". Speichern Sie nach Abschluss des Vorgangs alles und beenden Sie das Programm. Gehen Sie zurück in den Hauptordner Ihres Programms, klicken Sie auf "[Name des Ordners]" und dann auf den erstellten Ordner "release". Darin befinden sich zwei Dateien: eine .exe und eine "program debug database"-Datei mit dem Namen Ihres Originalprogramms. Diese beiden Dateien zusammen funktionieren auf jedem Computer, auf dem keine .NET-Bibliothek usw. installiert ist. Näher konnte ich an eine eigenständige .exe-Datei nicht herankommen. Ich hoffe, das hilft.

0voto

Chris Punkte 26827

VB 6 basiert nicht auf dem .NET-Framework. VB**.NET** schon.

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