2009-03-19 2 views
8

Sei nett, ich bin ein totaler Neuling für F #. Ich habe meine erste Konsolen-App erstellt und kann nicht herausfinden, wie F # entscheidet, welche meiner .fs-Dateien beim Start ausgeführt werden. Normalerweise haben Apps einen Einstiegspunkt und die F # -Formulare, die ich gesehen habe, haben einen Einstiegspunkt. Mein Konsolenprojekt nicht.Wie entscheidet f #, welche Datei beim Start ausgeführt wird?

Es scheint immer mit der letzten Datei zu beginnen, die ich hinzugefügt habe, was ein riesiger Schmerz ist. Ich kann nicht glauben, dass es so funktionieren soll. Ich muss etwas falsch machen.

Antwort

8

F # tut Einstiegspunkte unterstützen, mit EntryPointAttribute. Sehen Sie den letzten Screenshot von this blog für Details. Die 'main'-Funktion nimmt ein String-Array und gibt einen int zurück, und der EntryPoint muss in der letzten Codedatei im Projekt enthalten sein. Siehe auch 12.1.4 der language spec.

Hinweis: Wenn Sie keinen expliziten Einstiegspunkt angeben, verhält sich der Code der obersten Ebene in der letzten Datei des Projekts wie "main".

(übrigens auch this blog für Informationen zur Bestellung von Dateien in einem Projekt innerhalb VS. Verwaltung)

+0

Danke, das macht den Code viel einfacher zu lesen, besonders für meine Kollegen, die auch neu bei F # sind. –

+0

Ist das immer noch wahr? Ich habe mehrere .fsx-Dateien in meinem Projekt und es scheint die * erste * .fsx-Datei zu finden, die es findet. Ich bin auf Visual Studio 2012. –

4

EDIT lesen Brians Antwort für die neuesten Informationen

Meine Antwort ist die Verknüpfung veraltete Informationen.

An dieser Stelle unterstützt F # keinen expliziten Einstiegspunkt für eine Anwendung. Es hat einen impliziten Einstiegspunkt, der, wie Sie gesehen haben, die letzte Datei im Projekt ist.

Dieses Thema hat mehr Details: http://cs.hubfs.net/forums/thread/4151.aspx

+0

Das ist nicht richtig; Der Link ist veraltet, siehe meine Antwort. – Brian

+0

von dem, was ich sehe (in vs2015 F # Konsolenprojekt) ist es eigentlich die erste Datei in der Projektdatei. – BraveNewMath

Verwandte Themen