ScirptCS:簡(jiǎn)化C#的執(zhí)行,critc可以讓你在一個(gè)簡(jiǎn)單的文本編輯器里面編寫和運(yùn)行C#代碼。雖然ViualStudio(或者其它IDE)功能無(wú)比強(qiáng)大,但是如果你只是想編寫一些簡(jiǎn)單的C#代碼,這個(gè)時(shí)候,“
腳本允許你在一個(gè)簡(jiǎn)單的文本編輯器中編寫和運(yùn)行C#代碼。
盡管Visual Studio(或其他IDE)功能極其強(qiáng)大,但如果您只想編寫一些簡(jiǎn)單的C#代碼,此時(shí),“啟動(dòng)一個(gè)龐大的IDE,構(gòu)建一個(gè)解決方案,然后輸入代碼”絕對(duì)不是一個(gè)好的選擇。
工具/材料計(jì)算機(jī)
PowerShell
方法/步驟1首先安裝巧克力。要安裝巧克力,請(qǐng)?jiān)诿钐崾痉骆I入以下命令:
@ powershell-no profile-execution policy Unlimited-Command " iex((新建-對(duì)象網(wǎng)絡(luò)。網(wǎng)絡(luò)客戶端)。下載字符串(' https://chocolatey . org/install . PS1 ')" & amp;& amp設(shè)置路徑= %路徑%;%systemdrive%\chocolatey\bin
一旦安裝了巧克力,就可以從命令提示符下安裝最新穩(wěn)定版本的腳本:
cinst scriptcs
Chocolatey將把scriptcs安裝到% appdata% \ scriptcs \,并相應(yīng)地更新PATH。
更新
使用巧克力,更新腳本非常簡(jiǎn)單:
杯子腳本
獲得夜間建筑
輸入以下命令:
cinst scriptcs-預(yù)源https://www.myget.org/F/scriptcsnightly/
從源程序編譯
Cmd啟動(dòng)build.cmd腳本。
2使用REPL
REPL腳本可以通過(guò)運(yùn)行沒(méi)有任何參數(shù)的腳本來(lái)啟動(dòng)。REPL允許您從命令提示符直接執(zhí)行的C #語(yǔ)句。
c:\ gt。腳本
scriptcs (ctrl-c或空白退出)
>。var消息=“你好,世界!”;
>??刂婆_(tái)。WriteLine(消息); 你好,世界!
>。 c:\ gt。
編寫腳本
在空目錄中,創(chuàng)建一個(gè)名為app.csx的新文件:
使用瑞文??蛻?。
使用瑞文??蛻舳恕G度胧?;
使用瑞文??蛻?。索引;
控制臺(tái)。寫線正在啟動(dòng)RavenDB服務(wù)器...");
嵌入文檔存儲(chǔ)文檔存儲(chǔ)=空;
嘗試 {
文檔庫(kù)=新的嵌入式文檔庫(kù){
useembeddedHttpserver = true };
文檔庫(kù)。初始化();
var url =字符串。格式http://localhost:{0}。,文檔存儲(chǔ)。配置。端口);
控制臺(tái)。寫線RavenDB已啟動(dòng),正在偵聽(tīng){0}。",URL); 控制臺(tái)。read key();
}
最后
{
if (documentStore!= null)
文檔庫(kù)。處置();
}
用于安裝RavenDB。植入的
script cs-安裝RavenDB。植入的
執(zhí)行腳本。注意:需要管理員權(quán)限
>。scriptcs app.csx
信息:開(kāi)始創(chuàng)建執(zhí)行組件
信息:開(kāi)始執(zhí)行 正在啟動(dòng)RavenDB服務(wù)器... ..剪.. RavenDB已啟動(dòng),正在偵聽(tīng)http://localhost:8080。
打開(kāi)瀏覽器,輸入http://localhost:8080進(jìn)入RavenDB的管理界面
4使用腳本包
在空白目錄中,使用NuGet安裝腳本。該腳本包將自動(dòng)導(dǎo)入網(wǎng)絡(luò)應(yīng)用編程接口命名空間,并為控制器解決方案提供一個(gè)替代類,以幫助網(wǎng)絡(luò)應(yīng)用編程接口自動(dòng)發(fā)現(xiàn)控制器代碼。
腳本-安裝腳本。WebApi
Csx,代碼如下:
公共類TestController : ApiController {
公共字符串Get() {
返回“你好,世界!”;
} }
var網(wǎng)絡(luò)應(yīng)用編程接口=要求& lt網(wǎng)絡(luò)應(yīng)用編程接口>。();
var服務(wù)器= webApi。創(chuàng)建服務(wù)器(“http://localhost:8888”); 服務(wù)器。OpenAsync()。等待();
控制臺(tái)。寫作線(“傾聽(tīng)…”);
控制臺(tái)。read key();
服務(wù)器。CloseAsync()。等待();
Csx:
scriptcs server.csx
瀏覽http://localhost:8888/test/查看測(cè)試控制器的結(jié)果。獲取方法。
& ltstring xmlns = " http://schemas . Microsoft . com/2003/10/Serialization/" & gt。你好,世界!& lt/string>。
5參考其他文件
將測(cè)試控制器類從前面的例子移到一個(gè)名為controller.csx的新文件中
注意:# #load必須放在腳本的頂部,否則將被忽略。
#load "controller.csx "
在命令提示符下以管理員身份運(yùn)行并執(zhí)行server.csx文件。
scriptcs server.csx
瀏覽http://localhost:8888/test/查看測(cè)試控制器的結(jié)果。獲取方法。
& ltstring xmlns = " http://schemas . Microsoft . com/2003/10/Serialization/" & gt。你好,世界!& lt/string>。
參考組件
您可以使用#r引用GAC或腳本當(dāng)前目錄的程序集:
#r "nunit.core.dll "
#r "nunit.core.interfaces.dll "
var path = " UnitTests.dll
var runner = TestSetup。GetRunner(新[]{ path });
var結(jié)果= runner。運(yùn)行(新控制臺(tái)編輯器(msg =>??刂婆_(tái)。WriteLine(msg)),TestFilter。空虛,真實(shí),
日志閾值。所有);
控制臺(tái)。read key();
目標(biāo)