2012-06-06 15 views
7

Trong dự án của tôi, tôi đang mở một tệp với một số đường dẫn tương đối đến tệp thực thi. Tôi đã cố gắng kiểm tra mã của tôi trong cửa sổ F # Interractive, nhưng nó dường như chạy từ một con đường hoàn toàn khác. Làm thế nào tôi có thể thay đổi đường dẫn/làm cho nó chạy từ cùng một đường dẫn như dự án?Làm thế nào tôi có thể nhận được cửa sổ tương tác F # để sử dụng cùng một đường dẫn như dự án?

Trả lời

10

Tôi nghĩ rằng số nhận dạng __SOURCE_DIRECTORY__ có thể trợ giúp tại đây.

Bạn nên sử dụng compiler directives để tách biệt giữa việc sử dụng F # Interactive và biên soạn dự án F #.

#if INTERACTIVE 
    let path = __SOURCE_DIRECTORY__ + some_relative_path 
#else 
    let path = another_relative_path 
#endif 
+0

Nice! Điều này hoạt động ngay cả khi bạn làm nổi bật một số mã trong một tệp và "Thực thi trong tương tác". –

3

Bạn có thể thiết lập các thư mục làm việc hiện nay khi chạy trong FSI:

#if INTERACTIVE 
System.IO.Directory.SetCurrentDirectory("<project_path>") 
#endif