csharp 这回真成了脚本语言: dotnet run app.cs

41 天前
 Need4more

dotnet 10 支持直接运行 cs 源文件

引用三方包

#:package Humanizer@2.14.1

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 节点好冷清~~~

3162 次点击
所在节点    .NET
27 条回复
SwaggyMacro
41 天前
是的,V 站写 C# 的应该很少。
这个我之前也看到了,好事儿!
songpengf117
41 天前
“直接运行” 跟脚本语言 不能划等号
quan01994
41 天前
不冷清 。

不过对于我说,这个不吸引我 。
wdv2ly
41 天前
看起来跟多年前的 csscript 没啥区别
imydou
41 天前
go run main.go
profchaos
41 天前
fsharp: 这下真的底裤都被拿走了
aloxaf
41 天前
tcc -run main.c
duzhuo
41 天前
@songpengf117 可以写脚本的语言
timy007
41 天前
很棒 但是国内没人用吧
liuliuliuliu
41 天前
最新的 preview6 里的优化还有几点:
1. 可以直接 dotnet app.cs ,不用加 run 了
2. shebang 里也可以不用加 run 了,直接 #!/usr/bin/dotnet
xingheng
41 天前
这么说的话连 Swift 都成“脚本语言”了,所有支持 REPL 的语言都是了。
zwzwzwzwzxt
41 天前
rust 也是脚本语言 /doge

```
#!/bin/sh
#![allow(unused_attributes)] /*
OUT=/tmp/tmp && rustc "$0" -o ${OUT} && exec ${OUT} $@ || exit $? #*/

fn main() {
println!("hello world");
}
```
Need4more
41 天前
@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` 无缝从脚本升级为项目,从原型到生产,渐进过度
xiangyuecn
41 天前
老古董.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
Need4more
41 天前
@xiangyuecn 很棒!有没有考虑用 dotnet aot 重写这两个脚本 😄
idragonet
40 天前
NET 程序员支持下!
INCerry
40 天前
其实这个功能挺有用的,有时候写一些脚本不想用 shell ,python 不一定装了环境,还是用熟悉的编程语言会比较方便
Bronya
40 天前
很棒啊,之前还得装 dotnet-script
nilaoda
40 天前
@Need4more 社区项目 https://github.com/bflattened/bflat 也可以直接将 cs 文件编译为 Native AOT 版本
xomix
40 天前
这功能当年是官方 dot net 教程第一个例子就会写出来的。
这真是肯德基吮指原味鸡 鸡排 限时回归大促。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1147221

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX