如何在没有安装的情况下运行脚本?制作便携/独立脚本(csx)

时间:2016-01-04 11:03:31

标签: .net azure roslyn azure-webjobs scriptcs

是否可以制作便携式脚本?

我想编写一个脚本并从另一台机器上的控制台/ bat文件中激活它(使用相同的操作系统)。我想这应该是这样的:

  

SomeKindOfScriptCsExecutor.exe myscript.csx -param1 -param2

  

MyCompiledScriptAndExportedTo.exe -param1 -param2

原因:我想从Azure WebJobs执行脚本。

2 个答案:

答案 0 :(得分:2)

据我所知,您不需要安装任何东西来使用脚本。

您可以get it via Chocolatey,但也可以get it as a zip file。如果您想使用特定的Chocolatey版本,只需将 .nupkg 更改为 .zip ,即可解压缩该包。

这允许将其作为:

运行
  

scriptcs.exe yourScript.xcs

因此可以从 .cmd .bat 文件执行:

  

调用scriptcs.exe yourScript.xcs

请注意:

  • 此时, scriptcs 不使用最新版本的" Roslyn" ,因此它没有新强> C#6 功能
  • 目前无法从 .xcs 文件创建可执行文件,因此无法将其作为MyCompiledScriptAndExportedTo.exe -param1 -param2运行。 See first full discussionsecond full discussion

答案 1 :(得分:1)

是的,您可以将所有scriptcs二进制文件放入bin文件夹,或者子文件夹可以轻松地将它们与您的webjob一起部署。您也可以让您的webjob下拉我们的scriptcs.hosting nuget包,并根据您的喜好直接从您的.NET webjob运行脚本。详细了解托管here

关于C#6.0的问题,如果你抓住我们的MyGet提要(choco install scriptcs -pre -source https://www.myget.org/F/scriptcsnightly/)或克隆我们的dev分支,我们已经将Roslyn更新为RC2,其中包括完整的动态/异步和许多C#6.0的功能。