Для чего нужны файлы.CSX C#?
Я слышал о файлах.cs, но не о файлах.csx. Поиски в Google привели меня в корпорацию CSX и другие нежелательные органы. Может кто-нибудь дать краткое описание того, что такое файл CSX, и, возможно, основные различия между CSX и CS?
4 ответа
Это файл сценария C#, представленный вместе с Roslyn:
Поддержка редактирования файла сценария C# (.csx): CTP представляет концепцию файла сценария C#. Вы можете создать файл.csx [...]
Вам не нужно иметь все в классе и методе, файл csx подобен его собственному методу, и все в файле будет выполняться при запуске. Он также поддерживает некоторые дополнительные директивы (например, #load для загрузки другого скрипта).
Скриптовый API, представленный в Roslyn, хотя и является многообещающим, имеет некоторые серьезные недостатки:
Для API сценариев требуется настольный компьютер.NET Framework 4.6+.
- Это означает, что это не было кроссплатформенным. (но с.NET Core, теперь так и должно быть).
- Синтаксис C# на самом деле не ориентирован на сценарии (слишком многословно)
- Директивы, доступные в то время как обязательные, недостаточны для охвата широкого диапазона CLI (например, powershell). Например, не существует cd, alias, pwd, ls, exec и т.п.
Есть несколько скриптовых движков, которые основаны на нем (или под Roslyn) или, по крайней мере, на том же формате, обеспечивая при этом более продвинутые директивы. Таким образом, это означает, что файл csx должен выполняться на одном из следующих:
- Nake (работает на.Net Framework и Mono)
- скрипт dotnet (работает на.NET Core)
- ScriptCS
Осторожно, даже если они имеют общую базу, они не являются кросс-совместимыми, так как нет никакого стандарта на реализуемые ими расширения.
Прямо сейчас (2016), .csx
файлы также используются в онлайн-редакторе кода, предоставленном Microsoft.
Например, вы можете разработать приложение полностью из браузера и постоянно развертывать его оттуда. Вот пример бота, созданного на портале Azure и написанного в CSX через браузер:
Это файл сценария, используемый ScriptCS для создания исполняемых файлов без необходимости создания файла проекта.
Это файл Scriptcs http://scriptcs.net/. Может выполняться с помощью компилятора scriptcs