没有 .sln 也能跑?dotnet new console 背后的项目组织逻辑
用 dotnet new console -n DemoConsole 创建项目,运行没问题,但文件夹里只有 DemoConsole.csproj 和 Program.cs——没有 .sln,Visual Studio 怎么打开? 先说结论:sln 不是运行必需的,它是 IDE 用的多项目容器。dotnet new console 本来就不生成它。 csproj 是本体,sln 是容器 文件 角色 谁在用 .csproj 项目本体:目标框架、依赖、编译配置 dotnet CLI、VS、MSBuild .sln 容器:把多个 csproj 组织在一起 Visual Studio、Rider dotnet build、dotnet run 只认 csproj,sln 缺席不影响编译运行——所以很多人项目跑了半年才发现自己从来没有 sln。 单项目:直接打开 csproj VS 2019/2022 支持以项目文件为单位打开: 文件 → 打开 → 项目/解决方案 → 选中 DemoConsole.csproj F5 调试、NuGet 管理全都可用,单项目阶段可以一直不建 sln。 多项目:该补 sln 了 MySolution/ ├── MySolution.sln ├── DemoConsole/ ← 主程序 ├── DemoConsole.Tests/ ← 单元测试 └── DemoLibrary/ ← 类库 sln 的价值在项目多起来之后: