F#にはREPL(read-eval-print loop)F#InteractiveがありC:\Program Files (x86)\Microsoft F#\v4.0\Fsi.exe
ます。
Roslynでリリースされたように、C#には独自のインタラクティブREPLがあることを理解しています。Visual Studioの外部で開くにはどうすればよいですか?どこにありcsi.exe
ますか?
C#インタラクティブウィンドウとcsi.exeREPLがVisualStudio 2015 Update 1に追加されました(私の強調):
インタラクティブの紹介
インタラクティブウィンドウが帰ってきました!C#インタラクティブウィンドウは、他のいくつかのインタラクティブな扱いとともにVisual Studio 2015Update1に戻ります。
C#インタラクティブ。C#インタラクティブウィンドウは、基本的にread-eval-print-loop(REPL)であり、IntelliSense、構文の色付けなどのエディター機能を利用しながら、.NETテクノロジで遊んだり探索したりできます。C#の使用方法の詳細チャネル9でインタラクティブにするか、初心者向けのウォークスルーを読んでください。
csi。Visual Studioを開いてC#で遊んだり、スクリプトファイルを実行したりしたくない場合は、開発者コマンドプロンプトからインタラクティブエンジンにアクセスできます。スクリプトファイルを実行するために入力するか 、コマンドラインREPL内にドロップするために
csi /path/myScript.csx
単に入力します。csi
スクリプトAPI。スクリプトAPIを使用すると、ホストで作成された実行環境でC#コードのスニペットを実行できます。コードサンプルを確認することで、独自のC#スクリプトエンジンを作成する方法について詳しく知ることができます。
Visual Studio 2015 Update 1for.NET管理対象言語の新機能を参照してください。
https://www.visualstudio.com/en-us/news/vs2015-update1-vs.aspx
>csi
Microsoft (R) Visual C# Interactive Compiler version 1.1.0.51109
Copyright (C) Microsoft Corporation. All rights reserved.
Type "#help" for more information.
> #help
Keyboard shortcuts:
Enter If the current submission appears to be complete, evaluate it. Otherwise, insert a new line.
Escape Clear the current submission.
UpArrow Replace the current submission with a previous submission.
DownArrow Replace the current submission with a subsequent submission (after having previously navigated backwards).
REPL commands:
#help Display help on available commands and key bindings.
Script directives:
#r Add a metadata reference to specified assembly and all its dependencies, e.g. #r "myLib.dll".
#load Load specified script file and execute it, e.g. #load "myScript.csx".
>
> Enumerable.Range(10)
(1,12): error CS7036: There is no argument given that corresponds to the required formal parameter 'count' of 'Enumerable.Range(int, int)'
> Enumerable.Range(1, 10)
RangeIterator { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }
VisualStudioの外部で実行されるRoslynベースのREPLである、あなたが求めているものを正確に作成しました。
PoCからダウンロードできます-RoslynC#ScriptEngine Execute v1.0.exeは、すべてのRoslynアセンブリを埋め込みリソースとして含むスタンドアロンのexeです。ビデオ:O2のRoslynベースのC#REPLスクリプト環境の使用も参照してください。
O2プラットフォーム用のより強力なC#REPLを開発したことに注意してください。これは、 C#REPLスクリプト環境から表示およびダウンロードできます。
Roslynのトピックについて、私が作成した他のスタンドアロンツールの数を次に示します。
これらのツールとO2プラットフォームはすべてオープンソースライセンスの下でリリースされていることに注意してください。自由に拡張して改善してください:)
dotnet coreを使用している場合は、dotnet-scriptを試してください。
インストールするために実行dotnet tool install --global dotnet-script
します。次に、実行dotnet-script
してREPLスタイルのコマンドプロンプトを取得します
> Console.WriteLine("Hello world!");
Hello world!
私が見つけた唯一の実行可能ファイルはC:\Program Files (x86)\Microsoft Codename Roslyn CTP\Binaries\rcsi.exe
、.csx
ファイルを実行できるです。しかし、実際にはREPLをサポートしていないようです。
scriptcsはどうですか:http ://scriptcs.net/ ?
REPLがあり、NuGetのパワーも利用できます。
代替品ではないかもしれませんが、私は主にRoslynPadを使用して迅速な調査とテストを行っています。Linqpadも使用しました。RoslynPadは、彼らのWebサイトhttps://roslynpad.net/によると、「RoslynをベースにしたシンプルなC#エディター」です。小さなスクリプトを書くことができ、変数の値を見ることができ、それらを保存することもできます。
Anders Hejlsbergは、このビデオでC#REPLループを構築します。65分で次のようになります。
http://channel9.msdn.com/Events/PDC/PDC08/TL16#time=65m00s
これはRoslynのはるかに古いバージョンですが、同じ考え方が当てはまります(そして評価します!;)。
PowerShell検索を使用しますcsi.exe
:
PS > Get-ChildItem "C:\Program Files (x86)\" -Recurse | Where-Object Name -CMatch "csi.exe"
以下は私の出力です:
Directory: C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\Roslyn
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 12/9/2018 6:42 PM 15712 csi.exe
-a---- 12/9/2018 6:42 PM 8482 csi.exe.config
Directory: C:\Program Files (x86)\Microsoft Visual Studio\Shared\Packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.0\tools\Roslyn45
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 5/24/2018 1:38 PM 13680 csi.exe
Directory: C:\Program Files (x86)\Microsoft Visual Studio\Shared\Packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.0\tools\RoslynLatest
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 5/24/2018 1:38 PM 15280 csi.exe
-a---- 5/24/2018 1:38 PM 8816 csi.exe.config
Directory: C:\Program Files (x86)\Microsoft Visual Studio\Shared\Packages\Microsoft.Net.Compilers.1.3.2\tools
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 6/27/2016 2:50 PM 13680 csi.exe
Directory: C:\Program Files (x86)\Microsoft Visual Studio\Shared\Packages\Microsoft.Net.Compilers.2.0.1\tools
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 3/7/2017 10:56 AM 14192 csi.exe
-a---- 3/7/2017 10:56 AM 7905 csi.exe.config
Directory: C:\Program Files (x86)\Microsoft Visual Studio\Shared\Packages\Microsoft.Net.Compilers.2.1.0\tools
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 4/13/2017 3:47 PM 14192 csi.exe
-a---- 4/13/2017 3:47 PM 8006 csi.exe.config
Directory: C:\Program Files (x86)\Microsoft Visual Studio\Shared\Packages\Microsoft.Net.Compilers.2.4.0\tools
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 9/21/2017 11:42 PM 15312 csi.exe
-a---- 9/21/2017 11:42 PM 8816 csi.exe.config
Directory: C:\Program Files (x86)\Microsoft Visual Studio\Shared\Packages\Microsoft.Net.Compilers.2.6.1\tools
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 12/13/2017 10:09 PM 16296 csi.exe
-a---- 12/13/2017 10:09 PM 8816 csi.exe.config