TG Telegram Group & Channel
.NET Разработчик | United States America (US)
Create: Update:

День 2315. #ЧтоНовенького
Представляем dotnet run app.cs. Начало

В .NET 10 превью 4 упрощено начало работы с C#. Теперь вы можете запустить файл C# напрямую с помощью dotnet run app.cs. Т.е. больше не нужно создавать файл проекта или создавать каркас целого приложения для запуска быстрого скрипта, тестирования фрагмента кода или простого эксперимента.

До сих пор для выполнения кода C# с помощью dotnet CLI требовалась структура проекта, включающая файл .csproj. Теперь с помощью «файловых приложений» (file-based apps), вы можете запустить автономный файл .cs напрямую, как и в случае с такими языками сценариев, как Python или JavaScript.

Это снижает порог входа для изучения C# и делает язык гораздо более привлекательным выбором для сценариев обучения, прототипирования или автоматизации:
- Быстрый старт, не требуется файл проекта — отлично подходит для обучения, экспериментов и небольших скриптов.
- Первоклассная интеграция CLI — никаких дополнительных инструментов, никаких зависимостей, только dotnet и файл .cs.
- Масштабируется до реальных приложений — это не отдельный диалект или среда выполнения. Когда скрипт вырастет, он может превратиться в полноценный проект, использующий тот же язык, синтаксис и инструменты.

Новые директивы уровня файла для файловых приложений C#
Файловые приложения также поддерживают набор мощных директив уровня файла, которые позволяют объявлять небольшое количество важных вещей, хранящихся в файлах проекта для стандартных приложений. Эти директивы делают файловые приложения более гибкими и выразительными, сохраняя совместимость с концепциями MSBuild.

Ссылаемся на NuGet-пакеты
Вы можете добавить ссылку на NuGet-пакет напрямую в файле .cs, используя директиву #:package:

#:package [email protected]

using System.Globalization;
using Humanizer;

Thread.CurrentThread.CurrentUICulture = new CultureInfo("ru-ru");
var net9Release = DateTimeOffset.Parse("2024-12-03");
var since = DateTimeOffset.Now - net9Release;

Console.WriteLine($"Прошло {since.Humanize()} с релиза .NET 9.");

// Прошло 25 недель с релиза .NET 9.


Указываем SDK
По умолчанию файловые приложения используют Microsoft.NET.Sdk SDK. Если вы создаете что-то вроде веб-API, вы можете изменить SDK с помощью директивы #:sdk:
#:sdk Microsoft.NET.Sdk.Web

Это сообщает инструментам, что файл следует обрабатывать так, как если бы он был частью веб-проекта, что позволяет использовать такие функции ASP.NET Core, как Minimal API и MVC.

Настраиваем MSBuild
Вы можете настроить дополнительные свойства сборки с помощью #:property:
#:property LangVersion preview

Это позволяет файловому приложению использовать расширенные языковые функции и таргетинг на платформу без необходимости в полном файле проекта.

Использование строк шебанг для шелл-скриптов
Файловые приложения также поддерживают строки шебанг (#!), что позволяет писать кроссплатформенные шелл-скрипты на C#, которые можно выполнять непосредственно в Unix-подобных системах:
#!/usr/bin/dotnet run
Console.WriteLine("Привет из скрипта C#!");

Вы можете сделать файл выполняемым и выполнить его напрямую:
chmod +x app.cs
./app.cs

Это позволяет сделать C# удобной опцией для утилит CLI, скриптов автоматизации и тулинга, никакой настройки проекта не требуется.

Окончание следует…

Источник:
https://devblogs.microsoft.com/dotnet/announcing-dotnet-run-app/

День 2315. #ЧтоНовенького
Представляем dotnet run app.cs. Начало

В .NET 10 превью 4 упрощено начало работы с C#. Теперь вы можете запустить файл C# напрямую с помощью dotnet run app.cs. Т.е. больше не нужно создавать файл проекта или создавать каркас целого приложения для запуска быстрого скрипта, тестирования фрагмента кода или простого эксперимента.

До сих пор для выполнения кода C# с помощью dotnet CLI требовалась структура проекта, включающая файл .csproj. Теперь с помощью «файловых приложений» (file-based apps), вы можете запустить автономный файл .cs напрямую, как и в случае с такими языками сценариев, как Python или JavaScript.

Это снижает порог входа для изучения C# и делает язык гораздо более привлекательным выбором для сценариев обучения, прототипирования или автоматизации:
- Быстрый старт, не требуется файл проекта — отлично подходит для обучения, экспериментов и небольших скриптов.
- Первоклассная интеграция CLI — никаких дополнительных инструментов, никаких зависимостей, только dotnet и файл .cs.
- Масштабируется до реальных приложений — это не отдельный диалект или среда выполнения. Когда скрипт вырастет, он может превратиться в полноценный проект, использующий тот же язык, синтаксис и инструменты.

Новые директивы уровня файла для файловых приложений C#
Файловые приложения также поддерживают набор мощных директив уровня файла, которые позволяют объявлять небольшое количество важных вещей, хранящихся в файлах проекта для стандартных приложений. Эти директивы делают файловые приложения более гибкими и выразительными, сохраняя совместимость с концепциями MSBuild.

Ссылаемся на NuGet-пакеты
Вы можете добавить ссылку на NuGet-пакет напрямую в файле .cs, используя директиву #:package:
#:package [email protected]

using System.Globalization;
using Humanizer;

Thread.CurrentThread.CurrentUICulture = new CultureInfo("ru-ru");
var net9Release = DateTimeOffset.Parse("2024-12-03");
var since = DateTimeOffset.Now - net9Release;

Console.WriteLine($"Прошло {since.Humanize()} с релиза .NET 9.");

// Прошло 25 недель с релиза .NET 9.


Указываем SDK
По умолчанию файловые приложения используют Microsoft.NET.Sdk SDK. Если вы создаете что-то вроде веб-API, вы можете изменить SDK с помощью директивы #:sdk:
#:sdk Microsoft.NET.Sdk.Web

Это сообщает инструментам, что файл следует обрабатывать так, как если бы он был частью веб-проекта, что позволяет использовать такие функции ASP.NET Core, как Minimal API и MVC.

Настраиваем MSBuild
Вы можете настроить дополнительные свойства сборки с помощью #:property:
#:property LangVersion preview

Это позволяет файловому приложению использовать расширенные языковые функции и таргетинг на платформу без необходимости в полном файле проекта.

Использование строк шебанг для шелл-скриптов
Файловые приложения также поддерживают строки шебанг (#!), что позволяет писать кроссплатформенные шелл-скрипты на C#, которые можно выполнять непосредственно в Unix-подобных системах:
#!/usr/bin/dotnet run
Console.WriteLine("Привет из скрипта C#!");

Вы можете сделать файл выполняемым и выполнить его напрямую:
chmod +x app.cs
./app.cs

Это позволяет сделать C# удобной опцией для утилит CLI, скриптов автоматизации и тулинга, никакой настройки проекта не требуется.

Окончание следует…

Источник:
https://devblogs.microsoft.com/dotnet/announcing-dotnet-run-app/


>>Click here to continue<<

.NET Разработчик




Share with your best friend
VIEW MORE

United States America Popular Telegram Group (US)