Visual Studio项目结构怎么搭

雨雪酱_7241

雨雪酱_7241

2026-08-28

380人浏览

原创

先创建空白解决方案并取消“将解决方案和项目放在同一目录中”,再依次添加uil、bll、dal三个项目,统一目标框架;接着按uil→bll→dal顺序建立引用,严禁uil直引dal;最后规范命名空间、项目名与文件夹名,并可选添加shared共享层。

visual studio项目结构怎么搭 - php中文网

要在Visual Studio中搭建清晰、可维护、符合团队规范的项目结构,不能只靠默认生成的单项目骨架——尤其当业务逻辑变复杂、分层职责需隔离、或未来要接入CI/CD和单元测试时,初始结构一旦定型就很难大改。

新建解决方案并命名

启动 Visual Studio → 点击“创建新项目” → 在模板筛选区选择任意基础类型(如“类库(.NET Standard)”或“控制台应用(C#)”)→ 点击“下一步”。
在“配置新项目”页中,【务必取消勾选“将解决方案和项目放在同一目录中”】。这一步决定后续能否干净分离解决方案容器与具体项目,若勾选,所有项目会挤在同一个文件夹下,后期添加新项目或重构分层时极易混乱。

输入解决方案名称(如“MyEnterpriseSolution”),选择保存路径(建议用英文无空格路径,如 C:\repos\MyEnterpriseSolution),点击“创建”。

按分层架构添加多个项目

解决方案建好后,右键解决方案节点 → 选择“添加” → “新建项目”。重复此操作,依次添加以下三类项目:

方法一:表示层(UI)→ 选“Windows 窗体应用”或“.NET MAUI 应用”,命名为 MyApp.UIL
方法二:业务逻辑层(BLL)→ 选“类库(.NET 6+)”,命名为 MyApp.BLL
方法三:数据访问层(DAL)→ 同样选“类库(.NET 6+)”,命名为 MyApp.DAL

注意:三个项目必须使用相同的目标框架(如 .NET 6.0 或 .NET 8.0),否则项目引用会失败且无法编译。

Visual Studio Professional 18.8.1
Visual Studio Professional 18.8.1

Visual Studio 18.8.1 官方固定版本安装引导程序,当前条目使用微软发布历史中的 Professional Web Installer,适合旧项目兼容、环境回退、复现特定构建链和排查版本差异等场景。

下载

建立项目间引用关系

第一步:右键 MyApp.UIL 项目 → “添加项目引用” → 勾选 MyApp.BLL → 确定;
第二步:右键 MyApp.BLL 项目 → “添加项目引用” → 勾选 MyApp.DAL → 确定;
第三步:确认 MyApp.UIL 不直接引用 MyApp.DAL —— 这是分层架构的关键约束,违反会导致依赖倒置,破坏可测试性和解耦性。

此时打开每个项目的 .csproj 文件,应能看到类似 <projectreference include="..\MyApp.BLL\MyApp.BLL.csproj"></projectreference> 的引用项,路径为相对路径,确保跨机器迁移时仍有效。

统一命名空间与根文件夹结构

双击打开 MyApp.BLL 项目下的任意 .cs 文件 → 查看顶部命名空间声明(如 namespace MyApp.BLL)→ 若不一致,手动改为与项目名完全匹配;
同理检查 MyApp.DALMyApp.UIL 中所有类的命名空间。
接着,在解决方案资源管理器中,右键每个项目 → “重命名”,确保文件夹名、项目名、程序集名、默认命名空间四者严格一致。

这一步不做,后续 NuGet 包发布、XML 文档生成、甚至某些 DI 容器扫描都会出错,且调试时堆栈显示的命名空间会混乱难读。

添加共享基础设施项目

右键解决方案 → “添加” → “新建项目” → 选择“类库(.NET 6+)”,命名为 MyApp.Shared
将其设为公共契约中心:放入 CommonException.csIRepository<t>.cs</t>AppSettings.cs 等跨层复用类型;
然后让 MyApp.BLLMyApp.DAL 都引用它,但 MyApp.UIL 不得引用——保持上层对共享层的“只读感知”。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
vscode和visualstudio的区别
vscode和visualstudio的区别

Visual Studio是一款功能强大的集成开发环境(IDE),适用于专业开发人员进行复杂项目的构建。而VSCode则是一款轻量级的代码编辑器,更适合各种规模的项目开发。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

2024.03.15

1076

8

vscode和visualstudio对比分析
vscode和visualstudio对比分析

VSCode是一款轻量级代码编辑器,界面简洁,支持广泛的编程语言,适合个人开发者和小团队。而Visual Studio是一款全功能IDE,界面复杂但功能丰富,适合大型项目开发和团队协作,特别是面向.NET开发。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

2024.04.01

2012

10

AI视频生成软件推荐
AI视频生成软件推荐

本专题汇总了当前主流的AI视频生成软件推荐与排行榜单,涵盖seko、AniShort、剧云、Lovart、LiblibAI及立刻mv等热门工具。同时整理了各软件在文生视频、图生视频、时长限制、画质表现及免费额度等方面的差异对比,助您快速选对适合创作需求的AI视频生成工具。

2026.09.16

140

9

ai生成视频的工具免费版合集
ai生成视频的工具免费版合集

本专题汇总了当前免费AI生成视频工具的排行榜与推荐清单,涵盖seko、讯飞智作、AniShort及剧云、Lovart等多模型集成平台。同时整理了各工具的免费额度、输出时长、水印政策及适用场景差异,助您快速选择合适工具开启AI视频创作。

2026.09.16

60

10

Pandas时间序列分析与可视化报表
Pandas时间序列分析与可视化报表

本专题整理Pandas日期转换、时间索引、重采样、滚动窗口、时区处理、plot绘图、Styler表格样式和报表输出方法。

2026.09.16

60

23

Pandas数据筛选索引与清洗处理
Pandas数据筛选索引与清洗处理

本专题整理Pandas中的loc、iloc、条件筛选、query查询、缺失值处理、重复值删除、类型转换和字符串列清洗方法。

2026.09.16

40

25

Pandas数据读取导入与文件导出处理
Pandas数据读取导入与文件导出处理

本专题整理Pandas读取CSV、Excel、JSON、SQL、Parquet等文件的方法,以及to_csv、to_excel、to_sql和to_parquet等常用数据导出流程。

2026.09.16

40

27

GDB怎么设置断点
GDB怎么设置断点

本专题介绍GDB按照函数名、源代码行号和文件位置设置断点的方法,详细说明run、continue、next、step等命令的配合使用,帮助定位程序崩溃、逻辑异常及代码未按预期执行的问题。

2026.09.11

360

28

GDB怎么查看变量值
GDB怎么查看变量值

本专题介绍GDB调试过程中查看变量值的具体方法,涵盖局部变量、函数参数、数组、结构体和指针内容查询,同时整理变量持续显示、格式化输出及无法读取变量时的排查思路。

2026.09.11

120

22

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Visual Studio 性能优化指南
Visual Studio 性能优化指南

共0课时 | 0人学习

Visual Studio 企业部署手册
Visual Studio 企业部署手册

共0课时 | 0人学习

Visual Studio 扩展开发指南
Visual Studio 扩展开发指南

共0课时 | 0人学习