83

我听说过 .cs 文件,但从未听说过.csx 文件。谷歌搜索把我带到了 CSX 公司和其他不受欢迎的机构。有人可以简要描述一下 CSX 文件是什么,以及 CSX 和 CS 之间的主要区别吗?

4

4 回答 4

90

它是Roslyn 引入的C# 脚本文件:

C# 脚本文件 (.csx) 编辑支持:CTP 引入了 C# 脚本文件的概念。您可以创建一个 .csx 文件 [...]

罗斯林是什么?.NET 编译器平台,也被称为 Roslyn,是一组来自 Microsoft 的 C# 和 Visual Basic .NET 语言的开源编译器和代码分析 API。]

您不必在类和方法中拥有所有内容,csx 文件就像它自己的方法一样,文件中的所有内容都将在启动时执行。它还支持一些额外的指令(如#load加载另一个脚本)。

Roslyn 中提供的Scripting Api虽然很有前途,但也有一些严重的缺陷:

脚本 API 需要桌面 .NET Framework 4.6+。

  • 这意味着它不是跨平台的。(但对于 .NET Core,现在应该如此)。
  • C# 的语法并不是真正面向脚本的(太冗长)
  • 可用的指令虽然是强制性的,但不足以涵盖 CLI 的广泛范围(如 powershell)。例如,没有 cd、alias、pwd、ls、exec 等

有几个脚本引擎基于它(或基于 Roslyn 底层)或至少基于相同的格式,同时提供更高级的指令。因此,这意味着 csx 文件应该在以下之一上运行:

请注意,即使它们共享一个共同的基础,它们也不是交叉兼容的,因为它们实现的扩展没有标准。

于 2014-08-20T13:28:53.787 回答
24

目前(2019 年),.csx微软提供的在线代码编辑器也使用了文件。

例如,您可以完全从浏览器开发应用程序并从那里持续部署它。这是从 Azure 门户创建并通过浏览器在 CSX 中编写的示例机器人:

在此处输入图像描述

于 2016-12-06T07:03:19.343 回答
4

它是ScriptCS使用的脚本文件,允许您创建可执行文件而无需创建项目文件。

于 2014-08-20T13:29:47.497 回答
-1

它是 Scriptcs 文件 http://scriptcs.net/。它可以用 scriptcs 编译器执行

于 2014-08-20T13:28:16.760 回答