1. ホーム
  2. c#

[解決済み] C#の.CSXファイルは何のためにあるのですか?

2023-07-27 19:47:19

質問

.cs ファイルは聞いたことがありますが .csx ファイル . Google で検索すると、CSX 社やその他の不要な団体に行き着きました。どなたか、CSX ファイルとは何か、そしておそらく CSX と CS の主な違いについて、簡潔な説明をしていただけませんか?

どのように解決するのですか?

これは C#スクリプトファイル はRoslynと共に導入されました。

<ブロッククオート

C# スクリプトファイル (.csx) 編集のサポート。 CTP では、C# スクリプトファイルという概念が導入されました。.csx ファイルを作成することができます [...]...

[どのような Roslyn .NETコンパイラー・プラットフォームは、ニックネームとして Roslynというニックネームでも知られている、Microsoft社のC#およびVisual Basic .NET言語用のオープンソースコンパイラーおよびコード解析APIセットです。 Microsoft が提供する C# および Visual Basic .NET 言語用のオープンソースコンパイラとコード解析 API のセットです]。

クラスとメソッドにすべてを持たせる必要はありません。csx ファイルはそれ自身のメソッドのようなもので、ファイル内のすべてが起動時に実行されます。また、いくつかの追加ディレクティブもサポートしています (たとえば #ロード で別のスクリプトを読み込むこともできます)。

Roslynで提供されているスクリプトAPI は、有望ではあるものの、いくつかの重大な欠点があります。

<ブロッククオート

スクリプトAPIは、デスクトップの.NET Framework 4.6+が必要です。

  • クロスプラットフォームでなかったということです。(しかし、.NET Core では、今はそうなっているはずです)。
  • C#の構文はあまりスクリプト向きではない(冗長すぎる)
  • ディレクティブは必須ですが、CLI(powershellなど)の広い範囲をカバーするには十分ではありません。例えば には cd、alias、pwd、ls、exec などのディレクティブはありません。 .

より高度なディレクティブを提供しながら、これ(またはその下のRoslyn)をベースとした、あるいは少なくとも同じ形式のスクリプトエンジンがいくつかあります。 つまり、csx ファイルは以下のうちの 1 つで実行される必要があります。

ベースが共通でも、実装する拡張機能に標準がないため、相互互換性がないことに注意してください。