问题标签 [csi]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
6750 浏览

c# - 如何在 Visual Studio 中创建 csx 文件?

我正在使用 Visual Studio 2015 Update 2。根据csi.exe“C# 脚本文件”之类的内容:

如果指定,则执行script-file.csx

有这种格式的文档吗?如何在 Visual Studio 中创建它们?


0 投票
2 回答
3027 浏览

c# - 如何使用 CSI.exe 脚本参数

当你运行 csi.exe /? (安装了 Visual Studio 2015 更新 2),您将获得以下语法

我只是想知道如何将这个 [ script-argument ] 传递到我的 csx 脚本文件中。假设我的 csx 脚本 (c:\temp\a.csx) 只有 2 行,如下所示

我期望的是在我运行以下命令行之后

我会得到

但我只是不知道我应该在我的脚本文件中做什么,所以我可以将 csi.exe [ script_argument ] 传递给我的脚本文件(以替换)。

提前感谢您的时间和帮助。

0 投票
3 回答
2002 浏览

c# - 如何访问 .csx 脚本中的命令行参数?

我正在使用csi.exeC# Interactive Compiler 来运行.csx脚本。如何访问提供给我的脚本的任何命令行参数?


如果您不熟悉 csi.exe,以下是使用信息:

0 投票
2 回答
731 浏览

c# - 如何将 C# Scripting API (csi.exe) 与主机程序集成?

为了简单起见,如果我有一个游戏引擎。使用 C# 编译。我将如何使用 csi.exe(或其他方法)调用 C#脚本。如何在 Lua 等其他程序中使用 C# Scripting API?

编辑:澄清。我不想从 Lua 调用 C# 的 csi.exe。我想从已编译的程序中调用 csi.exe,无论是 C#(已编译的 C# 程序)、C++ 还是其他程序。我并不是说这听起来像是从 Lua 调用脚本 API。我的意思是像其他程序一样使用 Lua。这就是我想使用 C# Scripting API 的方式。我最感兴趣的是如何从已编译的 C# 程序中调用 C# 脚本。

0 投票
0 回答
562 浏览

c# - 如何使用 Ctrl-K、Ctrl-Enter 将代码发送到 C# 交互窗口?

TL;DR:如何将选择从 C# 编辑器发送到C# 交互窗口?

C# 交互式帮助屏幕(键入#help后)显示了一堆键盘快捷键,其中:

Ctrl-K, Ctrl-Enter 将选择粘贴到交互式缓冲区的末尾,在输入末尾留下插入符号。
Ctrl-E、Ctrl-Enter 在交互式缓冲区中的任何未决输入之前粘贴并执行选择。

其中第一个Ctrl-K, Ctrl-Enter总是给出:

组合键(Ctrl+K、Ctrl+Enter)绑定到当前不可用的命令(.InteractiveConsole.CopyToInteractive)。

该消息表明它已正确绑定,但它从不向 C# 交互窗口发送任何内容,无论我是否关注 C# 源文件和活动选择。

第二个命令,Ctrl-E, Ctrl-Enter始终显示:组合键 (Ctrl+E, Ctrl+Enter) is not a command

如何正确使用此组合键(将当前选择发送到 C# Interactive)?我在这里想念什么?我可以使用不同的组合键或绑定吗?

0 投票
1 回答
549 浏览

c# - 如何为 csi.exe 设置平台架构

运行 csi.exe 时出现以下错误:

System.BadImageFormatException:无法加载文件或程序集“xyz.dll”或其依赖项之一。不是有效的Win32应用程序。(来自 HRESULT 的异常:0x800700C1)

在 Visual Studio 中编译会引发警告,但编译和运行没有问题:

正在构建的项目“MSIL”的处理器架构与参考“xyz”、“x86”的处理器架构不匹配。这种不匹配可能会导致运行时失败。请考虑通过配置管理器更改项目的目标处理器体系结构,以便在项目和参考之间对齐处理器体系结构,或者依赖具有与项目的目标处理器体系结构匹配的处理器体系结构的参考。

所以看来我必须在运行 csi.exe 时指定处理器架构?怎么做?

0 投票
1 回答
385 浏览

c# - 如何在 CSI 中获取当前正在执行的脚本的路径或目录?

从 CSI 脚本获取脚本路径的最佳方法是什么?我希望能够#load从在不同目录中运行的脚本编辑我的脚本,并且仍然可以访问它自己的目录并且不受工作目录的影响。我在 docs 中找不到类似 nodejs 的__dirname常量。

0 投票
4 回答
3723 浏览

c# - 我需要一个用于构建代理机器的 CSharp 脚本 (.csx) 运行程序,例如 csi.exe

我正在编写 .csx 构建脚本。在我的本地机器上,我使用 Visual Studio 中的 CSharp 交互或通过C:\Program Files (x86)\MSBuild\14.0\bin\csi.exe. 我尝试在安装了 Microsoft Built Tools 2015 的 TeamCity 构建代理机器上运行 .csx 脚本(代理机器执行编译等实际构建任务)。令人惊讶的是,MSBuild 文件夹中没有csi.exe

我正在寻找一种csi.exe在我的构建代理机器上安装或兼容的独立 .csx 运行器的方法。在 Google 中找到的选项,如https://github.com/cake-build/cake,似乎都有其独特的脚本风格或许多附加功能,而我正在寻找一个csi.exe理想的克隆。

0 投票
1 回答
438 浏览

c# - 如何获取正在执行的 .csx 脚本的路径?

使用 执行 C# 脚本 ( .csx) 时C:\Program Files (x86)\MSBuild\14.0\Bin\amd64\csi.exe,如何获取正在执行的脚本的路径?

线

打印解释器 ( ) 的路径csi.exe,而不是脚本。

脚本应该在某种程度上知道它的路径,因为您可以使用这样的相对路径加载程序集:

0 投票
1 回答
439 浏览

c# - C# 交互中的 WPF (csi.exe)

我已经开始玩 c# 交互了。在 Visual Studio 中,我能够使用以下代码创建一些窗口:

但是由于使用 csi.exe 的这个错误,我不得不做这样的事情才能看到一个窗口(我已经从 net.compiler nuget 包,工具目录运行可执行文件):

该窗口在线程运行时显示,但我不确定如何在 VS C# 交互式视图中实现与此类似的行为。