当你运行csi.exe /?(安装了Visual Studio 2015更新2),您将获得以下语法
Microsoft (R) Visual C# Interactive Compiler version 1.2.0.51106
Copyright (C) Microsoft Corporation. All rights reserved.
Usage: csi [option] ... [script-file.csx] [script-argument] ...
Run Code Online (Sandbox Code Playgroud)
我只是想知道如何将这个[ script-argument ] 传递给我的csx脚本文件.比方说,我的csx脚本(c:\ temp\a.csx)只有2行,如下所示
using System;
Console.WriteLine("Hello {0} !", <argument_from_commandLine>);
Run Code Online (Sandbox Code Playgroud)
我期望的是在运行以下命令行之后
csi.exe c:\temp\a.csx David
Run Code Online (Sandbox Code Playgroud)
我会得到
Hello David !
Run Code Online (Sandbox Code Playgroud)
但我只是不知道我应该在我的脚本文件中做什么,所以我可以将csi.exe [ script_argument ] 传递给我的脚本文件(替换).
在此先感谢您的时间和帮助.
Mik*_*ray 19
脚本中有一个全局变量,Args它具有这些"脚本参数"值.我可以找到最接近文档的内容是在roslyn repo的pull请求中提到它.在csx文件(test.csx)中:
using System;
Console.WriteLine("Hello {0}!", Args[0]);
Run Code Online (Sandbox Code Playgroud)
使用命令行:
csi.exe test.csx arg1
Run Code Online (Sandbox Code Playgroud)
会给出输出:
你好arg1!
Environment.GetCommandLineArgs()可以使用另一种方法来工作,但问题是这会获取传递给csi进程的所有参数.然后你必须将"脚本参数"与csi本身的选项分开.通过使用内置的Args变量可以避免这项工作,该变量也将更易于维护.
| 归档时间: |
|
| 查看次数: |
1982 次 |
| 最近记录: |