С Новым годом! Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Эксперт JavaЭксперт по электроникеЭксперт .NET
 Аватар для wizard41
3398 / 2720 / 574
Регистрация: 04.09.2018
Сообщений: 8,542
Записей в блоге: 3
.NET 10

Новый плюшки .NET10

12.12.2025, 18:42. Показов 1390. Ответов 20
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
1. В новой версии .NET10 в процессор dotnet добавили возможность выполнения "сырых" файлов исходного кода .cs/.vb. Для этого достаточно вызвать dotnet run file_name.cs. Крайне полезная возможность для написания скриптов автоматизации.
dotnet-run-cs.reg.7z

Добавляем в Windows ассоциацию .cs файлов с командой dotnet run %1 через модификацию реестра.
Кликните здесь для просмотра всего текста

Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
Windows Registry Editor Version 5.00
 
; Ассоциация файлов .cs
[HKEY_CLASSES_ROOT\.cs]
@="csfile"
"PerceivedType"="text"
 
; Класс для файлов .cs
[HKEY_CLASSES_ROOT\csfile]
@="C# Source File"
"FriendlyTypeName"="C# Source File"
 
; Команда по умолчанию при двойном щелчке
[HKEY_CLASSES_ROOT\csfile\shell]
@="open"
 
; Команда открытия/запуска
[HKEY_CLASSES_ROOT\csfile\shell\open]
@="&Run with dotnet"
"Icon"="%SystemRoot%\\System32\\shell32.dll,102"
 
[HKEY_CLASSES_ROOT\csfile\shell\open\command]
@="\"C:\\Program Files\\dotnet\\dotnet.exe\" run \"%1\" %*"
 
; Команда для запуска из командной строки
[HKEY_CLASSES_ROOT\csfile\shell\run]
@="&Run with dotnet (command line)"
"Icon"="%SystemRoot%\\System32\\shell32.dll,102"
 
[HKEY_CLASSES_ROOT\csfile\shell\run\command]
@="\"C:\\Program Files\\dotnet\\dotnet.exe\" run \"%1\" %*"
 
; Настройка для запуска из командной строки путем прямого вызова файла
[HKEY_CLASSES_ROOT\csfile\ShellEx]
[HKEY_CLASSES_ROOT\csfile\ShellEx\DropHandler]
@="{86C86720-42A0-1069-A2E8-08002B30309D}"


2. Экспериментальный файловый сервер web-api
fileserver.7z
Скопировать в каталог.
Запустить dotnet run fileserver.cs
Осуществляет доступ ко всем файлам поддерева каталогов.
Имеет swagger-интерфейс.

3. Шифратор AES. В качестве пароля выступает имя файла.
aes.7z
Шифрование:
dotnet run aes.cs DataFile.txt
В результате формируется зашифрованный файл DataFile.txt.aes
При передаче файла имя изменяется.
Получатель должен знать исходное имя файла что бы он мог быть расшифрован.

Расшифровка:
dotent run aes.cs DataFile.txt.aes
В результате будет воссоздан исходный файл Data.txt.

4. MD5 - Скрипт хеширует содержимое.
md5.7z
- (без параметров) всё содержимое текущего каталога
- (если указан файл) файл
- (если указан каталог) всё содержимое указанного каталога.

Выводит хеши в консоль в формате, удобном для сохранения в документации.

5. TRACER - Скрипт выполняет трассировку маршрута до указанного хоста. Если хост не указан, то трассировка выполняется до ya.ru.
tracer.7z
Запуск (shell):
dotnet run tracer.cs 8.8.8.8

6. PINGER - Скрипт выполняет ping до заданного хоста в непрерывном режиме. Вывод осуществляется в консоль в одну строку в удобном формате. Аналогично данные выводятся в заголовок окна консоли так, что бы их было легко читать в подсказках статусной панели.
pinger.7z

7. SCANNER - Скрипт сканнера сети. Сканирует с помощью ping параллельно подсеть 192.168.1.0/24
Результат выводит в консоль.
scanner.7z
4
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.12.2025, 18:42
Ответы с готовыми решениями:

Атрибут или прочая плюшка для Entity Framework
Есть таблица БД с некоторой инфой для участника музыкальной группы. Дата рождения, дата начала...

Открытие новой страницы в новой вкладке
Открываю новую страницу с помощью Response.Redirect, но предыдушая страница закрывается. Что...

В начале учебного года в класс поступили два новых ученика. Как получить аналогичный массив, учитывающий рост новых учеников
Добрый вечер. Подскажите, как решить задачку. Условие. Данные о росте 25 учеников класса,...

20
Эксперт JavaЭксперт по электроникеЭксперт .NET
 Аватар для wizard41
3398 / 2720 / 574
Регистрация: 04.09.2018
Сообщений: 8,542
Записей в блоге: 3
12.12.2025, 18:43  [ТС]
Вывод tracer.cs:
1
Эксперт .NET
 Аватар для Wolfdp
3789 / 1766 / 371
Регистрация: 15.06.2012
Сообщений: 6,543
Записей в блоге: 3
12.12.2025, 20:11
Млин, вроде и круто сделали (я про саму фичу .net 10), с другой стороны -- не уверен насчёт практического применения. Типа если не знаешь тот же powershell, можно списать аля-скрипты чисто на C#, что вроде круто. С другой стороны -- строготипизированные скрипты? Ужс...
1
 Аватар для IamRain
4694 / 2702 / 734
Регистрация: 02.08.2011
Сообщений: 7,228
12.12.2025, 20:42
Цитата Сообщение от Wolfdp Посмотреть сообщение
С другой стороны -- строготипизированные скрипты?
Да какая разница какие они. Это все упрощение жизни .NET-разрабов, точно также как и Blazor (для тех, кто не умеет в js).
Позаимствовали у java (без претензий), но удобство есть как никак, берешь да пишешь, я powershell не помню когда последний раз запускал...

Добавлено через 8 минут
Но у Rust-а тулинг для TUI-приложений (terminal user interface) очень развит, и в итоге все равно выглядит лучше, как по мне.
Например, подсчет числа строк в репозиториях через tokei, oha - нагрузочное тестирование WEB API с чартами и статистикой, и все это в терминале.
Есть свой кроссплатформенный framework - ratatui - для написания любой сложности TUI.
bat - аналог cat.
Короче, инструментарий давно уже не ограничен одним только .NET-ом, коммьюнити у современных языков прямо ого какая движущая сила.
0
Эксперт .NET
 Аватар для Wolfdp
3789 / 1766 / 371
Регистрация: 15.06.2012
Сообщений: 6,543
Записей в блоге: 3
12.12.2025, 20:42
Цитата Сообщение от IamRain Посмотреть сообщение
Да какая разница какие они.
Теряешь в гибкости и лёгкости написания. Может и не прав, но обычно такие веще не строготипизированые.

Цитата Сообщение от IamRain Посмотреть сообщение
то все упрощение жизни .NET-разрабов
Есть такое.

Хотя есть ещё один сценарий, не связанный с скриптами: динамический билд исполняемого кода. Если можно будет просто пнуть T4, а потом скормить CLR ради получения результата -- тоже интересная тема.
1
 Аватар для IamRain
4694 / 2702 / 734
Регистрация: 02.08.2011
Сообщений: 7,228
12.12.2025, 20:43
Цитата Сообщение от wizard41 Посмотреть сообщение
Вывод tracer.cs:
Вывод tokei с подсчетом строк у Avalonia репозитория (ratatui под капотом) + размер бинаря всего 5М (статическая линковка - все в одном файле, без внешних зависимостей, кхм, чаще всего).
Миниатюры
Новый плюшки .NET10   Новый плюшки .NET10  
0
 Аватар для IamRain
4694 / 2702 / 734
Регистрация: 02.08.2011
Сообщений: 7,228
12.12.2025, 20:50
Цитата Сообщение от wizard41 Посмотреть сообщение
Вывод tracer.cs:
Запустил Weather API дефолтный, тестирую через oha (динамичное отображение прямо в терминале).
oha уже тяжелее - 17М весит. Скрины работы.
Миниатюры
Новый плюшки .NET10   Новый плюшки .NET10  
0
 Аватар для IamRain
4694 / 2702 / 734
Регистрация: 02.08.2011
Сообщений: 7,228
12.12.2025, 21:17
Можно все (кроме браузера разве что) в терминал засунуть, и будет быстрее работать.
Эти тулы и под виндой работают, можете проверить.

Добавлено через 4 минуты
Цитата Сообщение от Wolfdp Посмотреть сообщение
Теряешь в гибкости и лёгкости написания.
Тогда только питон остается, на множестве линуксов он дефолтом точно поставляется.
Либо мазохистам/linux-админам bash/zsh.

Добавлено через 3 минуты
oha быстрее секунды отработала (143 тысячи rps в статах указано).
Сейчас почти на любой чих, куда ни глянешь, есть готовые классно сделанные tui. Просто FYI для виндузятников.

Добавлено через 15 минут

Не по теме:

И, кстати, недавно c проекта Rust-for-Linux сняли плашку "experimental", то есть это теперь полноценный инструментарий для написания Linux-ового ядра.
За три года, что длился эксперимент, пока всего 0.3% было написано на Rust от общего объема кода ядра.
Напоминаю, С++ так до сих пор и не пустили в кодовую базу линя.


Простите за оффтоп
0
Эксперт JavaЭксперт по электроникеЭксперт .NET
 Аватар для wizard41
3398 / 2720 / 574
Регистрация: 04.09.2018
Сообщений: 8,542
Записей в блоге: 3
12.12.2025, 21:48  [ТС]
Цитата Сообщение от Wolfdp Посмотреть сообщение
строготипизированные скрипты?
А что тут такого? Иногда это даже проще/быстрее чем собирать целое приложение. Тут, я думаю, будет масса полезных применений.
0
 Аватар для IamRain
4694 / 2702 / 734
Регистрация: 02.08.2011
Сообщений: 7,228
12.12.2025, 21:52
Цитата Сообщение от wizard41 Посмотреть сообщение
А что тут такого?
Ну целевая аудитория - опытные .NET-разрабы, которые просто с закрытыми глазами смогут мелкие тулы писать.
Безусловно, это удобно. По сути, тут уже нет разницы, строгая или динамическая типизация, если ты знаешь, как бегло переводить мысли в код.
0
Эксперт JavaЭксперт по электроникеЭксперт .NET
 Аватар для wizard41
3398 / 2720 / 574
Регистрация: 04.09.2018
Сообщений: 8,542
Записей в блоге: 3
12.12.2025, 21:58  [ТС]
Цитата Сообщение от IamRain Посмотреть сообщение
как бегло переводить мысли в код
Вот именно. И особенно интересно этот код не встраивать в основной солюшен, чтобы последний не обрастал лишними (побочными) деталями..
0
2393 / 1914 / 763
Регистрация: 27.07.2012
Сообщений: 5,559
12.12.2025, 23:14
Ну в компиляторе mono для линукса давно была возможность выполнять C# код как скрипт прямо из терминала. Даже какое-то автоматическое кодо-дополнение работало, хотя и кривовато. В принципе, полезно было.
0
Эксперт .NET
 Аватар для Wolfdp
3789 / 1766 / 371
Регистрация: 15.06.2012
Сообщений: 6,543
Записей в блоге: 3
12.12.2025, 23:34
Не знаю, у меня пока ощущение что это всё же будет решать какие-то специфические энтерпрайзные вопросы, нежели как альтернатива тому же powershell
0
 Аватар для XIST
1960 / 1070 / 148
Регистрация: 01.10.2009
Сообщений: 3,590
Записей в блоге: 1
13.12.2025, 09:13
Цитата Сообщение от Wolfdp Посмотреть сообщение
Не знаю, у меня пока ощущение что это всё же будет решать какие-то специфические энтерпрайзные вопросы, нежели как альтернатива тому же powershell
Мне кажется, всё-таки лучше знать ЯП лучше, чем еще PS изучать, хорошее дело сделали
0
 Аватар для volodin661
6671 / 2264 / 346
Регистрация: 10.12.2013
Сообщений: 7,830
13.12.2025, 14:33
Цитата Сообщение от XIST Посмотреть сообщение
Мне кажется, всё-таки лучше знать ЯП лучше, чем еще PS изучать
У Евгения спросили:
- Как вам кажется, что лучше - толстый, но короткий или тонкий, но длинный ?

Толстый и длинный,- ответил Евгений.

Добавлено через 5 минут
Powershell - шикарная вещь,

но отказ от обязательной точки с запятой я им не прощу.
0
Эксперт JavaЭксперт по электроникеЭксперт .NET
 Аватар для wizard41
3398 / 2720 / 574
Регистрация: 04.09.2018
Сообщений: 8,542
Записей в блоге: 3
13.12.2025, 16:18  [ТС]
В качестве элементарного примера:
Допустим, у нас приложение работает по сети с неким клиентом. Понятно дело, что в логике приложения заложен функционал по определению этого клиента: доступен он в данный момент или нет. В свою очередь, эта логика (и сам факт начала такой проверки) может зависеть от некоторых сторонних условий, которые почему-то не срабатывают: ошибки в коде и/или недостижение этих условий по иным причинам.

По "старинке", в этот солюшен можно включить еще один мини-проект, который как раз проверяет эту связь. Но в виду последних нововведений - этот проект становится уже не нужен: достаточно запустить небольшой скрипт ч/з dot-net и за 0,05 сек узнать о состоянии этого клиента.

Ну и это применимо к прочим подобным ситуациям..
0
Эксперт .NET
 Аватар для Wolfdp
3789 / 1766 / 371
Регистрация: 15.06.2012
Сообщений: 6,543
Записей в блоге: 3
13.12.2025, 19:06
Цитата Сообщение от wizard41 Посмотреть сообщение
Ну и это применимо к прочим подобным ситуациям..
Честно говоря ни разу таким не страдал. Обычный пинг проверяет доступность по сети, этого в 99% случаев за глаза. Как результат сеть проверяется вне зависимости от наличия приложения как такового.

А вытянутый наружу клиент... хотя нет -- поможет, если нужно провести отладку на удалённом окружении. Студию туда никто не даст поставить, и раньше пришлось бы делать так:
- правишь в блокноте cs
- компилишь
- запускаешь и смотришь результат

Теперь убирается этап компиляции, что чуть облегчает суету.
0
 Аватар для IamRain
4694 / 2702 / 734
Регистрация: 02.08.2011
Сообщений: 7,228
13.12.2025, 19:37
Цитата Сообщение от wizard41 Посмотреть сообщение
dot-net и за 0,05 сек узнать о состоянии этого клиента.
Оправдываете ништяки . Есть тулинг в виде ping/telnet/nmap-ов во многих всех операционных системах.
0
Эксперт JavaЭксперт по электроникеЭксперт .NET
 Аватар для wizard41
3398 / 2720 / 574
Регистрация: 04.09.2018
Сообщений: 8,542
Записей в блоге: 3
13.12.2025, 19:53  [ТС]
Цитата Сообщение от Wolfdp Посмотреть сообщение
Обычный пинг проверяет доступность по сети
ну так то да, пример я привел весьма условный. А если надо не просто пинг, а еще что-то отправить, если узел в сети?..
Это может быть и не сеть, а СУБД или FTP, файлы какие-то... Не важно - главное, что можно осуществить хорошую проверку/автоматизацию без тяжелой IDE и на языке которым хорошо владеешь.

Я например, редко пользуюсь powershell или виндовым cmd. Для того чтобы что-то там сделать - надо лезть в "?" и вспоминать какие команды, аргументы... А на C# без всяких справок в 3 часа ночи и с похмелья наберу то что нужно и это сразу заработает..

Добавлено через 1 минуту
Цитата Сообщение от IamRain Посмотреть сообщение
Есть тулинг в виде ping/telnet/nmap-ов
Ну конечно есть, кто ж спорит. Лично мне эти нововведения кажутся полезными. Я не уговариваю срочно ими пользоваться

Добавлено через 5 минут
Так мы станем как "староверы", которым все новое кажется лишним и подозрительным...
1
1341 / 920 / 265
Регистрация: 08.08.2014
Сообщений: 2,766
15.12.2025, 08:30
Цитата Сообщение от wizard41 Посмотреть сообщение
достаточно вызвать dotnet run file_name.cs
Оно, кстати, и без 'run' работает, т.е. просто: dotnet file_name.cs.

P.S.: удобный функционал, теперь можно всякие маленькие скрипты явным образом не собирать заранее и предоставлять вообще без файла проекта.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
15.12.2025, 08:30
Помогаю со студенческими работами здесь

Как заменить переход на новую строку на пробел, а пустую строку на переход на новую строку?
Подскажите как из одного текстового файла, в котором в каждом ряде содержится не больше одного...

Добавление новой строки в richTextBox и получение расчетов из другой формы
Здравствуйте. У меня появилась пара вопросов, на которые я прошу ВАС ответить. - У меня есть...

Вопрос от новичка
Здравствуйте....Я Недавно начал писать на ASP.Net, до этого вообще не программировал для...

Какая функция принудительно вызовет новую страницу по указанному URL?
Какая существует функция чтоб открыть другую страницу aspx по заданной URL (одна из Форм веб-сайта)...

Как добавить новый item в listView?
Все доброго времени суток. Вообщем, есть у нас listView, в который надо добавить итем. Создаем...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит токи на L и напряжения на C в установ. режимах до и. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru