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 40 天前
是的,V 站写 C# 的应该很少。
这个我之前也看到了,好事儿! |
![]() |
2
songpengf117 40 天前 via iPhone ![]() “直接运行” 跟脚本语言 不能划等号
|
3
quan01994 40 天前
不冷清 。
不过对于我说,这个不吸引我 。 |
![]() |
4
wdv2ly 40 天前 via Android
看起来跟多年前的 csscript 没啥区别
|
![]() |
5
imydou 40 天前 via iPhone ![]() go run main.go
|
6
profchaos 40 天前
fsharp: 这下真的底裤都被拿走了
|
7
aloxaf 40 天前
|
![]() |
8
duzhuo 40 天前
@songpengf117 可以写脚本的语言
|
9
timy007 40 天前
很棒 但是国内没人用吧
|
![]() |
10
liuliuliuliu PRO ![]() 最新的 preview6 里的优化还有几点:
1. 可以直接 dotnet app.cs ,不用加 run 了 2. shebang 里也可以不用加 run 了,直接 #!/usr/bin/dotnet |
![]() |
11
xingheng 40 天前
这么说的话连 Swift 都成“脚本语言”了,所有支持 REPL 的语言都是了。
|
![]() |
12
zwzwzwzwzxt 40 天前
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 40 天前
老古董.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 40 天前
NET 程序员支持下!
|
17
INCerry 40 天前
其实这个功能挺有用的,有时候写一些脚本不想用 shell ,python 不一定装了环境,还是用熟悉的编程语言会比较方便
|
![]() |
18
Bronya 40 天前
很棒啊,之前还得装 dotnet-script
|
19
nilaoda 40 天前
@Need4more 社区项目 https://github.com/bflattened/bflat 也可以直接将 cs 文件编译为 Native AOT 版本
|
![]() |
20
xomix 40 天前
这功能当年是官方 dot net 教程第一个例子就会写出来的。
这真是肯德基吮指原味鸡 鸡排 限时回归大促。 |
![]() |
21
magicdawn 40 天前
|
22
kzfile 40 天前
c#写起来蛮舒服的,做一些特定的二次开发也只能用 c#,就是生态没那么丰富
|
23
liaohongxing 40 天前
go 也可以 go run main.go , 但是只是个快捷方式 ,build + run 一起执行而已 ,并不是传统意义上的脚本 ,不知道 .net 是否 是这样, 我想应该也是跟 go 一样的,不可能另造一个脚本解析器。
|
![]() |
25
ragnaroks 40 天前
能替代 .ps1 就好,ps 真的一坨狗屎
|
26
dmanbu 39 天前
powershell 可以去死了
|
![]() |
27
shiloh595 16 天前 via Android
古德古德
|