Frage

habe ich eine Reihe von statischen Hilfsmethoden einschließlich Unit-Tests. Aber ich mag eine interaktive Art und Weise haben, eine Prüfung zu verwenden -> Fixierung -> Kompilierung Zyklus (REPL) wie in Lisp oder Smalltalk, wo man sofort Code im interaktiven Modus ausführen kann. Ich habe versucht, F # Interactive zu testen, diese Methoden direkt aus dem geöffneten C # -Projekt in VS 2010 zu verwenden, aber ich habe es nicht zur Arbeit.

Ich weiß, dass ich die Versammlung (#r Richtlinie) zu laden, den Namensraum öffnen und dann die Methoden aufrufen können (und überprüfen Sie das Ergebnis). Aber wie mache ich es in „F # Interactive“ in Visual Studio 2010? Ich weiß, es ist möglich, mit den „Sofort“ Fenstern in der Debug-Modus, aber ich will es in F # Interactive in „Design-Modus“ tun, wenn ich den Code mich schreibe.

War es hilfreich?

Lösung

Sie müssen den Pfad zu einem Projekt gehören mit der #I Richtlinie dann können Sie Ihre Assembly laden und zu verwenden. Ich schrieb dies eine einfache C # Konsole app versuchen und bekam dies zu arbeiten.

using System;

namespace ConsoleApplication1
{
    public class Program
    {
        static void Main(string[] args)
        {
            PrintMessage();
            Console.Write("Press any key to continue . . . ");
            Console.ReadKey(true);
            Console.WriteLine();
        }

        public static void PrintMessage()
        {
            Console.WriteLine("MESSAGE!");
        }
    }
}

Dann in F # interaktiv:

> #I "full path to debug directory";;

--> Added 'full path to debug directory' to library include path

> #r "ConsoleApplication1.exe";;

--> Referenced 'full path to debug directory\ConsoleApplication1.exe'

> open ConsoleApplication1;;
> Program.PrintMessage();;
MESSAGE!
val it : unit = ()

So ist es auf jeden Fall funktioniert, müssen Sie sich Ihre Projekte kompilieren. Denken Sie daran, zum Zurücksetzen der Sitzung lösen Ihre Montage vorher.

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