写点什么

一种更简单的方式运行 C# 代码,简化 C# 开发体验!

  • 2025-06-05
    福建
  • 本文字数:1219 字

    阅读完需:约 4 分钟

前言


前段时间 .NET 10 Preview 4 推出了一种更简单的方式运行 C# 代码,即可以直接使用dotnet run file.cs 命令运行 C# 文件。这意味着我们不再需要创建项目文件或搭建整个应用程序框架,就能够快速运行脚本、测试代码片段或验证想法。


dotnet run file.cs 的作用


dotnet run file.cs你可以直接运行一个独立的 C# file.cs 文件,就像使用 Python 或 JavaScript 等脚本语言一样。这一改进显著降低了尝试 C# 的门槛,使得 C# 语言在教学演示、快速原型开发或自动化脚本场景中都更具吸引力。


开发环境安装


目前该功能还处于预发布状态,使用之前需要先安装10.0.100-preview.4 SDK。

  • https://dotnet.microsoft.com/zh-cn/download/dotnet/10.0




VS Code 中创建 C# 文件并直接运行


接下来我们直接在 VS Code 中创建一个独立的 helloWorld.cs 文件,然后直接在 cmd 命令行工具中使用 dotnet run 运行:




使用 #:package 引用 NuGet 包


我们可以直接在 helloWorld.cs 文件中使用 #:package 指令添加 NuGet 包引用,接下来我们来引用 Newtonsoft.Json 来进行对象的序列化和反序列:


#:package Newtonsoft.Json@13.0.3
using Newtonsoft.Json;
public class Product{ public string Name { get; set; } public decimal Price { get; set; } public DateTime ReleaseDate { get; set; }}
class Program{ static void Main() { // 序列化示例 var product = new Product { Name = "笔记本", Price = 9999.99m, ReleaseDate = DateTime.Now };
string json = JsonConvert.SerializeObject(product, Formatting.Indented); Console.WriteLine("序列化结果:"); Console.WriteLine(json);
// 反序列化示例 string jsonInput = @"{ ""Name"": ""华为手机"", ""Price"": 3899.00, ""ReleaseDate"": ""2025-06-04T00:00:00"" }";
Console.WriteLine("\n\r");
var newProduct = JsonConvert.DeserializeObject<Product>(jsonInput); Console.WriteLine("反序列化结果:"); Console.WriteLine($"名称:{newProduct.Name}"); Console.WriteLine($"价格:{newProduct.Price:C}"); Console.WriteLine($"发布日期:{newProduct.ReleaseDate:yyyy-MM-dd}"); }}
复制代码



使用 #:sdk 指令指定 SDK


默认情况下,基于文件的程序使用 Microsoft.NET.Sdk SDK。如果您正在构建类似 Web API 的东西,可以使用 #:sdk 指令更改 SDK:

#:sdk Microsoft.NET.Sdk.Web
复制代码


使用 #:property 设置 MSBuild 属性


可以使用 #:property 配置其他构建属性,例如:

#:property LangVersion preview
复制代码


文章转载自:追逐时光者

原文链接:https://www.cnblogs.com/Can-daydayup/p/18909325

体验地址:http://www.jnpfsoft.com/?from=001YH


用户头像

还未添加个人签名 2023-06-19 加入

还未添加个人简介

评论

发布
暂无评论
一种更简单的方式运行 C# 代码,简化 C# 开发体验!_C#_不在线第一只蜗牛_InfoQ写作社区