Frage

Wie könnte ich das zum Laufen bringen?

#I (__SOURCE_DIRECTORY__ + @"\bin\Release")

Und zweite Fragen. Ist es möglich, so etwas wie zu tun:

let path = __SOURCE_DIRECTORY__ + @"\bin\Release"
#I path

?

War es hilfreich?

Lösung

Du kannst nicht. Die Befehle #i und #R sind wirklich Vorprozessoranweisungen, die ausgeführt werden, bevor der Code von FSI dynamisch kompiliert wird, sodass sie nur String-Literale unterstützen. Dies ist logisch, wenn Sie darüber nachdenken, da die referenzierten Baugruppen den Code möglicherweise kompilieren müssen.

Der Befehl #R und #i nimmt jedoch immer relative Pfade als aus dem Ort der Skripts an, also dies

#I @".\bin\Release"

Sollte gut funktionieren (beachten Sie den Punkt, um sicherzustellen, dass es ein Verwandter ist, kein absoluter Weg).

Beachten Sie, dass relative relative Pfade aus dem FSI -Arbeitsverzeichnis (normalerweise im TEMP -Verzeichnis) stammen __SOURCE_DIRECTORY__ beim Laden von Dateien von Ihren Skripten.

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