2012-06-21 3 views
80

Ich installierte Roslyn. Nun, wenn ich weiß, wo in Visual Studio suchen, kann ich öffnen Sie das ‚C# interaktiven Fenster‘, und führen Sie den Code ein:Kann das interaktive C# -Fenster mit meinem Code interagieren?

> 5 + 3 
8 

Das ist süß. Jetzt, wie kann ich interagieren mein Code -my Klassen? Angenommen, ich habe ein Projekt geöffnet.

> new Cog() 
(1,5): error CS0246: The type or namespace name 'Cog' could not be found (are you missing a using directive or an assembly reference?) 
+0

Roslyn ist kein interaktives Fenster. Es ist .NET Compiler API. Sind Sie sicher, dass Sie die Dinge nicht verpassen? – Tigran

+1

Dies ist eine Funktion, die mit Roslyn geliefert wird http://blogs.msdn.com/b/csharpfaq/archive/2012/01/30/roslyn-ctp-introduces-interactive-code-for-c.aspx –

+0

Ich benutze immer die Standard-Direktfenster dafür - funktioniert auch mit Ihren eigenen Typen. – Polyfun

Antwort

77

Wenn Visual Studio 2015 verwenden:

Sie können die Navigation zu Ansichten des interaktiven Fenster öffnen> Andere Fenster> C# Interactive,

Dann wird Ihr Projekt nur rechts klicken und initialisieren laufen Interaktiv mit Projekt über das Kontextmenü.


Für ältere Versionen:

Um die C# Interactive Window mit Ihrem Code zu verwenden, stellen Sie sicher, zuerst Ihren Code kompilieren, dann einen Verweis auf die sich ergebende Anordnung mit ähnlichem so #r Befehl hinzufügen:

C# command prompt


Sie können auch die Immediate Window verwenden als auch mit Ihrem Code zu interagieren, lik e so:

Immediate Window

+0

Danke.Ich mag das C# interaktive Fenster besser. Das unmittelbare Fenster ist unfreundlich, es gibt keine automatische Vervollständigung. 'Console.WriteLine (" hey ") Der Name 'Console' existiert nicht im aktuellen Kontext System.Console.WriteLine (" hey ") Ausdruck wurde ausgewertet und hat keinen Wert" –

+1

@MattHickford Hinweis Sie können auch Verwenden Sie das unmittelbare Fenster, während Sie Ihre laufende Anwendung debuggen. – sloth

+0

-1 die Frage ist über die Verwendung der neuen C# REPL (interaktives Fenster), die Teil von Roslyn ist. Sieh dir die Videos von Don Syme c9 an, in denen er das F # Interactive Window bei der Entwicklung verwendet. Gutes Zeug. http://channel9.msdn.com/Series/C9-Lectures-Dr-Don-Syme-Introduction-to-F-/C9-Lectures-Dr-Don-Syme-Introduction-to-F-2-of-3 –

63

Sie Klassen aus Ihrem eigenen Projekt verwenden können.
Klicken Sie einfach mit der rechten Maustaste auf Ihre Lösung und wählen Sie "Interaktiv vom Projekt zurücksetzen".

Wenn Sie mehr Informationen benötigen, hier ist die Quelle:
Using the C# Interactive Window that comes with Roslyn – Part 2

+1

Danke, das klingt richtig. Leider funktioniert es nicht wie beschrieben - welches Projekt ich auch anprobiere, es erscheint ein Fehleralarm mit dem Namen 'Ungültiger Assemblyname'. Frustrierend erklärt es nicht, über welche Versammlung es spricht. Ich schätze, die Software ist kaputt. –

+0

@MattHickford: Welche Art von Projekt ist das Projekt? Wir haben nicht viel mehr getestet als einfache ConsoleApplications und ClassLibraries. –

+0

Danke, dass du Kevin fragst. Ich habe gerade versucht, bei kleineren Projekten interaktiv vom Projekt zurückzusetzen, es hat richtig funktioniert. Die Projekte, für die es nicht zuverlässig funktioniert, sind kompliziertere Bibliotheken und Anwendungen mit vielen Referenzen. –

20

Nur ein Update von der @ Botz3000 Antwort.

Der Befehl, den Sie finden wollen nun „initialisieren Interactive mit dem Projekt“

enter image description here

Auch ist es erwähnenswert, ich diesen Befehl nicht finden konnte, wenn mein C# interaktives Fenster nicht sichtbar ist genannt wird.

+6

Es ist in VS2017 entfernt ... – Maxim

+5

Nein, es ist nicht. Ich habe es genau an der Stelle, auf der der Screenshot hinweist. – Tom

+1

@Tom scheint zu funktionieren oder nicht zu funktionieren, je nachdem, mit welchem ​​Projekttyp Sie arbeiten. Mit welchem ​​Projekttyp haben Sie gearbeitet, als Sie es gefunden haben? – WizardHammer

0

Vergessen Sie nicht, Klassenname Bereich zu öffentlichen Klassenname zu ändern.
:)