ScirptCS:简化C#的执行,critc可以让你在一个简单的文本编辑器里面编写和运行C#代码。虽然ViualStudio(或者其它IDE)功能无比强大,但是如果你只是想编写一些简单的C#代码,这个时候,“
脚本允许你在一个简单的文本编辑器中编写和运行C#代码。
尽管Visual Studio(或其他IDE)功能极其强大,但如果您只想编写一些简单的C#代码,此时,“启动一个庞大的IDE,构建一个解决方案,然后输入代码”绝对不是一个好的选择。
工具/材料计算机
PowerShell
方法/步骤1首先安装巧克力。要安装巧克力,请在命令提示符下键入以下命令:
@ powershell-no profile-execution policy Unlimited-Command " iex((新建-对象网络。网络客户端)。下载字符串(' https://chocolatey . org/install . PS1 ')" & amp;& amp设置路径= %路径%;%systemdrive%\chocolatey\bin
一旦安装了巧克力,就可以从命令提示符下安装最新稳定版本的脚本:
cinst scriptcs
Chocolatey将把scriptcs安装到% appdata% \ scriptcs \,并相应地更新PATH。
更新
使用巧克力,更新脚本非常简单:
杯子脚本
获得夜间建筑
输入以下命令:
cinst scriptcs-预源https://www.myget.org/F/scriptcsnightly/
从源程序编译
Cmd启动build.cmd脚本。
2使用REPL
REPL脚本可以通过运行没有任何参数的脚本来启动。REPL允许您从命令提示符直接执行的C #语句。
c:\ gt。脚本
scriptcs (ctrl-c或空白退出)
>。var消息=“你好,世界!”;
>。控制台。WriteLine(消息); 你好,世界!
>。 c:\ gt。
编写脚本
在空目录中,创建一个名为app.csx的新文件:
使用瑞文。客户。
使用瑞文。客户端。嵌入式;
使用瑞文。客户。索引;
控制台。写线正在启动RavenDB服务器...");
嵌入文档存储文档存储=空;
尝试 {
文档库=新的嵌入式文档库{
useembeddedHttpserver = true };
文档库。初始化();
var url =字符串。格式http://localhost:{0}。,文档存储。配置。端口);
控制台。写线RavenDB已启动,正在侦听{0}。",URL); 控制台。read key();
}
最后
{
if (documentStore!= null)
文档库。处置();
}
用于安装RavenDB。植入的
script cs-安装RavenDB。植入的
执行脚本。注意:需要管理员权限
>。scriptcs app.csx
信息:开始创建执行组件
信息:开始执行 正在启动RavenDB服务器... ..剪.. RavenDB已启动,正在侦听http://localhost:8080。
打开浏览器,输入http://localhost:8080进入RavenDB的管理界面
4使用脚本包
在空白目录中,使用NuGet安装脚本。该脚本包将自动导入网络应用编程接口命名空间,并为控制器解决方案提供一个替代类,以帮助网络应用编程接口自动发现控制器代码。
脚本-安装脚本。WebApi
Csx,代码如下:
公共类TestController : ApiController {
公共字符串Get() {
返回“你好,世界!”;
} }
var网络应用编程接口=要求& lt网络应用编程接口>。();
var服务器= webApi。创建服务器(“http://localhost:8888”); 服务器。OpenAsync()。等待();
控制台。写作线(“倾听…”);
控制台。read key();
服务器。CloseAsync()。等待();
Csx:
scriptcs server.csx
浏览http://localhost:8888/test/查看测试控制器的结果。获取方法。
& ltstring xmlns = " http://schemas . Microsoft . com/2003/10/Serialization/" & gt。你好,世界!& lt/string>。
5参考其他文件
将测试控制器类从前面的例子移到一个名为controller.csx的新文件中
注意:# #load必须放在脚本的顶部,否则将被忽略。
#load "controller.csx "
在命令提示符下以管理员身份运行并执行server.csx文件。
scriptcs server.csx
浏览http://localhost:8888/test/查看测试控制器的结果。获取方法。
& ltstring xmlns = " http://schemas . Microsoft . com/2003/10/Serialization/" & gt。你好,世界!& lt/string>。
参考组件
您可以使用#r引用GAC或脚本当前目录的程序集:
#r "nunit.core.dll "
#r "nunit.core.interfaces.dll "
var path = " UnitTests.dll
var runner = TestSetup。GetRunner(新[]{ path });
var结果= runner。运行(新控制台编辑器(msg =>。控制台。WriteLine(msg)),TestFilter。空虚,真实,
日志阈值。所有);
控制台。read key();
目标