.NET 常见文件与扩展名含义(速查)

常见文件与扩展名含义(速查)

下面按「你在仓库里会摸到的」优先级整理;并非 .NET 生态里每一个后缀(如 .vb.fs 等仅略提)。

源代码与标记
扩展名 / 模式 含义
.cs C# 源码。一个文件通常对应一个类型(类/接口/记录等),也可放 Program.cs 入口。
*.Designer.cs 设计器生成或部分类(partial)的另一半,少手改。
*.g.cs 代码生成器产出(如源生成器),不要手改,重新生成会覆盖。
.cshtml Razor:HTML + C# 混排,多用于 MVC/Razor Pages 视图。
_ViewStart.cshtml / _ViewImports.cshtml 视图全局布局与命名空间/using 导入,名字约定以下划线开头。
.razor Blazor 组件(浏览器里跑 WebAssembly 或服务端渲染)。
.xaml WPF / MAUI / WinUI 等 UI 声明式标记(做桌面/跨平台客户端时常见)。
.resx 资源文件(多语言字符串、图片等),编译成嵌入资源。
.http / .rest VS / Rider 的 HTTP 客户端文件,用来手写请求测 API(类似 Postman 片段)。
项目、解决方案与构建
扩展名 含义
.csproj C# 项目文件:目标框架、包引用、编译项、全局配置等;角色接近 package.json + 构建脚本。
.sln 解决方案:多个 .csproj(及杂项)的容器;类似 monorepo 里一个「工作区」入口。
.slnx 新版可选解决方案格式(XML/简化结构),工具链逐步支持。
Directory.Build.props / Directory.Build.targets 放在目录树上级,给下面所有子项目统一注入 MSBuild 属性/目标。
.props / .targets MSBuild 属性与任务片段,常被包或解决方案复用。
global.json 指定本目录使用的 SDK 版本(团队对齐版本时常用)。
nuget.config NuGet 源、私有源、包路径等(类似 .npmrc 的一部分职责)。
packages.lock.json 包锁定文件(启用锁定后),类似 package-lock.json
.editorconfig 缩进、命名风格等,跨编辑器一致(前端也常用)。
配置(运行与开发)
文件名 含义
appsettings.json 默认配置(连接字符串、日志级别、自定义键)。
appsettings.{Environment}.json 按环境覆盖,如 DevelopmentProduction
secrets.json(用户机密) 开发机敏感配置,不进 Git,路径由工具管理。
Properties/launchSettings.json 本地调试:端口、环境变量 ASPNETCORE_ENVIRONMENT、IIS Express 配置等。
web.config 部署在 IIS 时常见:ASP.NET Core 模块(ANCM)与 Kestrel 衔接;本地 Kestrel 直跑可能不需要。
编译与发布产物(一般在 bin/ / obj/ / publish/
扩展名 含义
.dll 程序集(库或可执行入口的载体),.NET 主要交付形态。
.exe Windows 可执行入口;自包含发布时常有;Linux 上可能是无扩展名的可执行文件。
.pdb 调试符号:堆栈行号、局部变量名;发布到生产可选是否带上(便于分析崩溃)。
.xml(与 DLL 同名) XML 文档注释导出,供 IDE 提示;可选。
.deps.json 依赖清单:运行时解析依赖树用。
.runtimeconfig.json 运行时版本、滚动更新策略等。
project.assets.jsonobj/ 内) NuGet 还原结果,勿手改
测试与其它语言(略)
扩展名 含义
.csproj 中带 *Tests* 的项目 单元/集成测试,常用 xUnit / NUnit / MSTest。
.fs / .fsproj F# 语言与项目。
.vb / .vbproj Visual Basic。
命名习惯(和「文件名含义」一起看)
  • PascalCase :公开类型、方法、属性名(UserController)。
  • 接口 :常 I 前缀IUserRepository)。
  • 私有字段 :常见 _camelCasecamelCase(团队规范为准)。
  • 异步方法 :习惯 Async 后缀GetUserAsync)。
  • EF Core 迁移Migrations/ 下带时间戳的类名描述 schema 变更;由 CLI 生成,手动改需谨慎。
相关推荐
hez20101 天前
在 .NET 上构建超大托管数组
c#·.net·.net core·gc·clr
唐青枫8 天前
线程不是越多越快:C#.NET Thread 生命周期、同步与后台工作线程实战
c#·.net
唐青枫9 天前
别只会反射:C#.NET Emit 动态生成代码实战详解
c#·.net
Caco_D9 天前
一行代码抓遍全网 20 个热榜!Aneiang.Pa 4.0 发布 — 极简 .NET 爬虫库
爬虫·.net
咕白m6259 天前
.NET 环境下 Word 超链接批量提取方案
c#·.net
小码编匠9 天前
C# 工控上位机必备:数据转换工具类与十个核心模块
后端·c#·.net
唐青枫11 天前
别再乱用 StartNew:C#.NET TaskFactory 任务调度实战详解
c#·.net
2601_9620725515 天前
李梦娇常识4600问|题库|打印版
sql·华为od·华为·c#·华为云·.net·harmonyos