dotnet 10 支持直接运行 cs 源文件
引用三方包
#:package [email protected] using Humanizer; var dotNet9Released = DateTimeOffset.Parse("2024-12-03"); var since = DateTimeOffset.Now - dotNet9Released; Console.WriteLine($"It has been {since.Humanize()} since .NET 9 was released.");
linux shebang
#!/usr/bin/dotnet run Console.WriteLine("Hello from a C# script!");
chmod +x app.cs ./app.cs
https://devblogs.microsoft.com/dotnet/announcing-dotnet-run-app
v 站的 dotnet 节点好冷清~~~
1 SwaggyMacro 78 天前 是的,V 站写 C# 的应该很少。 这个我之前也看到了,好事儿! |
![]() | 2 songpengf117 78 天前 via iPhone ![]() “直接运行” 跟脚本语言 不能划等号 |
3 quan01994 78 天前 不冷清 。 不过对于我说,这个不吸引我 。 |
![]() | 4 wdv2ly 78 天前 via Android 看起来跟多年前的 csscript 没啥区别 |
![]() | 5 imydou 78 天前 via iPhone ![]() go run main.go |
6 profchaos 78 天前 fsharp: 这下真的底裤都被拿走了 |
7 aloxaf 78 天前 |
![]() | 8 duzhuo 78 天前 @songpengf117 可以写脚本的语言 |
9 timy007 78 天前 很棒 但是国内没人用吧 |
![]() | 10 liuliuliuliu PRO ![]() 最新的 preview6 里的优化还有几点: 1. 可以直接 dotnet app.cs ,不用加 run 了 2. shebang 里也可以不用加 run 了,直接 #!/usr/bin/dotnet |
![]() | 11 xingheng 78 天前 这么说的话连 Swift 都成“脚本语言”了,所有支持 REPL 的语言都是了。 |
![]() | 12 zwzwzwzwzxt 78 天前 rust 也是脚本语言 /doge ``` #!/bin/sh #![allow(unused_attributes)] /* OUT=/tmp/tmp && rustc "$0" -o ${OUT} && exec ${OUT} $@ || exit $? #*/ fn main() { println!("hello world"); } ``` |
13 Need4more OP @wdv2ly 肯定是借鉴了社区的现有项目,但这次是官方内置了。 这个博客详细说明了其特性和背后实现原理 https://andrewlock.net/exploring-dotnet-10-preview-features-1-exploring-the-dotnet-run-app.cs/ 其中有两个命令很有意思: `dotnet publish app.js` 一键发布脚本为 aot 过的单文件 exe `dotnet project convert app.js` 无缝从脚本升级为项目,从原型到生产,渐进过度 |
![]() | 14 xiangyuecn 78 天前 老古董.net framework 里面自带了编译器,直接拿来编译一下源码运行没啥问题 搬出我的古董代码:.net framework 4.5+,.NET Core 2.0+,.NET 5+,直接从源码运行 中英双语,win 、linux 均可用 https://github.com/xiangyuecn/RSA-csharp/blob/master/Test-Build-Run.bat https://github.com/xiangyuecn/RSA-csharp/blob/master/Test-Build-Run.sh |
15 Need4more OP @xiangyuecn 很棒!有没有考虑用 dotnet aot 重写这两个脚本 |
![]() | 16 idragonet 77 天前 NET 程序员支持下! |
17 INCerry 77 天前 其实这个功能挺有用的,有时候写一些脚本不想用 shell ,python 不一定装了环境,还是用熟悉的编程语言会比较方便 |
![]() | 18 Bronya 77 天前 很棒啊,之前还得装 dotnet-script |
19 nilaoda 77 天前 @Need4more 社区项目 https://github.com/bflattened/bflat 也可以直接将 cs 文件编译为 Native AOT 版本 |
![]() | 20 xomix 77 天前 这功能当年是官方 dot net 教程第一个例子就会写出来的。 这真是肯德基吮指原味鸡 鸡排 限时回归大促。 |
![]() | 21 magicdawn 77 天前 |
22 kzfile 77 天前 c#写起来蛮舒服的,做一些特定的二次开发也只能用 c#,就是生态没那么丰富 |
23 liaohongxing 77 天前 go 也可以 go run main.go , 但是只是个快捷方式 ,build + run 一起执行而已 ,并不是传统意义上的脚本 ,不知道 .net 是否 是这样, 我想应该也是跟 go 一样的,不可能另造一个脚本解析器。 |
![]() | 25 ragnaroks 77 天前 能替代 .ps1 就好,ps 真的一坨狗屎 |
26 dmanbu 77 天前 powershell 可以去死了 |
![]() | 27 shiloh595 53 天前 via Android 古德古德 |