2012-06-21 130 views
80

我安裝了Roslyn。現在,如果我知道在哪裏看在Visual Studio中,我可以打開「C#交互窗口」,並運行代碼:C#交互式窗口可以與我的代碼交互嗎?

> 5 + 3 
8 

這就是可愛。現在我怎樣才能互動我的代碼 -my classes?假設我有一個項目打開。

> 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不是交互式窗口。它是.NET編譯器API。你確定不會錯過這些東西嗎? – Tigran

+1

這是Roslyn附帶的一個功能http://blogs.msdn.com/b/csharpfaq/archive/2012/01/30/roslyn-ctp-introduces-interactive-code-for-c.aspx –

+0

我總是使用標準即時窗口 - 適用於您自己的類型。 – Polyfun

回答

77

當使用Visual Studio 2015年:

您可以通過導航打開交互式窗口視圖>其它窗口> C#互動

然後,只需右鍵點擊你的項目並運行初始化從上下文菜單中與項目交互。


對於舊版本:

要與您的代碼使用C#交互窗口,確保你先編譯代碼,然後添加一個參考導致組裝與#r命令,像這樣:

C# command prompt


您還可以使用Immediate Window與您的代碼,以及進行互動,LIK è這樣:

Immediate Window

+0

謝謝。我更喜歡C#交互式窗口。即時窗口不友好,沒有自動完成功能。 'Console.WriteLine(「hey」) 當前上下文中不存在名稱'Console' System.Console.WriteLine(「hey」) 表達式已被評估且沒有值' –

+1

@MattHickford注意您也可以在調試正在運行的應用程序時使用立即窗口。 – sloth

+0

-1問題在於使用屬於roslyn的新C#REPL(交互式窗口)。看看他在開發時使用F#交互式窗口的Don Syme的c9視頻。好東西。 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

您可以使用類從自己的項目。
只需右鍵單擊您的解決方案並選擇「從項目中重置交互」。

如果您需要了解更多信息,這裏是源:
Using the C# Interactive Window that comes with Roslyn – Part 2

+1

謝謝,這聽起來沒錯。唉,它不能像描述的那樣工作 - 無論我嘗試什麼項目,它都會彈出一個錯誤提示,說'無效的程序集名稱'。令人沮喪的是,這並不能解釋它正在討論的是什麼組合。我猜這個軟件壞了。 –

+0

@MattHickford:項目是什麼類型的項目?除簡單的ConsoleApplications和ClassLibraries之外,我們還沒有做過太多的測試。 –

+0

謝謝凱文。我剛剛在一些較小的項目上嘗試過「重置項目互動」,它的工作原理是正確的。它不可靠工作的項目是更復雜的庫和具有許多參考的應用程序。 –

20

剛從@ Botz3000答案的更新。

你想找到現在被稱爲「初始化互動與工程」命令

enter image description here

另外值得注意的是我無法找到這個命令,如果我的C#交互窗口是不可見的。

+6

它被刪除VS2017 ... – Maxim

+5

不,它不是。我的截圖與截圖指出的完全相同。 – Tom

+1

@Tom它似乎根據您正在使用的項目類型來運行或不運行。當你找到它時,你正在使用的項目類型是什麼? – WizardHammer

0

別忘了改變班級名稱範圍到公共班級名稱
:)