C#,入门教程(06)——解决方案资源管理器,代码文件与文件夹的管理工具

上一篇:

C#,入门教程(05)——Visual Studio 2022源程序(源代码)自动排版的功能动画图示https://blog.csdn.net/beijinghorn/article/details/124675293

大家平时都怎么管理源代码与文件夹呢?世界上最好的集成开发环境(IDE)Visual Studio 2022,有很实用与便利的管理工具,称为“解决方案资源管理器”。

局部放大,请详细了解一下。

解决方案资源管理器的两个作用:

(1)显示、选择哪些引用(DLL)作为工程的内容;

(2)显示、选择(设定)哪些代码作为工程的内容。

咱们分别做一点简要的介绍。

一、代码的管理

1、代码的类型

1.1 C# 源代码文件

C#的代码都是 .cs 为后缀。在工程中一般分为代码型 cs 与 设计型cs。

比如:Form.cs 是代码型cs,而 Form1.Designer.cs 就是设计型 cs,它与 Form.cs Form1.resx 共同实现了 Form1 的代码与设计细节。当然,Form1.Designer.cs 与 Form.cs 从程序上理解,没有什么本质的区别。

Form1.cs

 Form1.Designer.cs

1.2 项目文件 csproj

还有一个重要的文件类型,就是 *.csproj 文件。

csproj 文件定义了项目中使用的“引用”和“代码”。这句话很熟悉?是的,就是“解决方案资源管理器”的工作啊。实际上,咱们对于解决方案资源管理器的任何操作,都被记录于 csproj 文件。反过来,你自己直接编辑 csproj 文件,也可以实现这些工作。

编程多年,一般都配套 Editplus 作为文本编辑器,推荐!

2、代码的文件夹

默认情况下,所有cs等都放置于项目的当前文件夹下。

这不利于代码的效率管理。建议在当前文件夹下,创建 App_Code 文件夹(一般的 web 应用也是这个名字哈),然后在下面按 namespace 创建层级的子目录。

创建 App_Code 的好习惯,也可以为后续 多平台一体化开发 提供帮助。

文件夹与文件一样,可以随时设置为 未使用(排除) 或 使用。

未使用的文件夹下的所有代码,自动被设置为 未使用。

 习惯与再创建一个 @Backup 文件夹,用于保存备份每天的代码。

3、代码的使用

代码的来源不外乎:(1)使用 New 菜单创建;(2)从别的 cs 文件复制并修改而来,或者从其他人的代码直接复制过来。呵呵!写了很多代码,几乎从来没有用过 new !

一般情况下,一定要注意代码的编码,首选 unicode,默认会有 BOM。如果代码可能被在 linux 下打开阅读,则一定要除去 BOM!

点击代码名称,并按鼠标右键,可以选择使用 或 不使用 该代码。

这有两个实用的价值:(1)某些不成熟的代码,可以暂时先放着;(2)某些不想发布出去的代码,可以被简单地隐藏起来。

使用:将一个代码加入项目的操作是鼠标右键 包括在项目中(J)。

不使用:点击文件 或 文件夹 右键菜单的 从项目中排除(J) 即可。

4、修改文件名的问题

为了协调大家的工作,经常会修改代码的文件名,有时候仅仅是修改一下大小写。

这个就不能直接在 解决方案资源管理器 里面实现,需要修改文件名后直接编辑 csproj 文件即可。

二、引用的管理

引用是微软、第三方软件企业或小组成员开发的可使用的组件或链接库(DLL)。

现在经常通过 管理 Nuget 程序包来添加更多的引用,C# Nuget 比 python 的各种库更可靠。

添加引用的文章很多了。

引用的管理也是 使用 与 不使用。

打开 引用文件夹(?),鼠标右键:移除  即可不使用指定的引用。

POWER BY 315SOFT.COM

总之,解决方案资源管理器 就是你的工作桌面,及时清理与整理是提高工作效率的重要手段之一。

下一篇:

C#,入门教程(07)——软件项目的源文件与目录结构https://blog.csdn.net/beijinghorn/article/details/124139947

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/5719.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【时时三省】(C语言基础)文件的顺序读写

山不在高,有仙则名。水不在深,有龙则灵。 ----CSDN 时时三省 文件顺序读写 示例: 这个会输出bit 如果把写文件的内容屏蔽掉 它就会把它清空 流 高度抽象的概念 可以往流里面写数据 c语言程序,只要运行起来,就默认…

Web安全攻防入门教程——hvv行动详解

Web安全攻防入门教程 Web安全攻防是指在Web应用程序的开发、部署和运行过程中,保护Web应用免受攻击和恶意行为的技术与策略。这个领域不仅涉及防御措施的实现,还包括通过渗透测试、漏洞挖掘和模拟攻击来识别潜在的安全问题。 本教程将带你入门Web安全攻防…

Bigemap pro批量设置属性/填充字段

在图层里面有大量点位或者线面需要批量编辑时,可以借助bigemap pro软件来进行编辑修改 第一步:在对应图层点击右键,选择样式,选择需要修改的点线面来设置图标、大小等,如图所示: 第二步:设置要…

全球化趋势与中资企业出海背景

1. 全球化趋势与中资企业出海背景 1.1 全球经济格局变化 全球经济格局正经历深刻变革,新兴经济体崛起,全球产业链重塑,中资企业出海面临新机遇与挑战。据世界银行数据,新兴市场和发展中经济体在全球 GDP 中占比已超 40%&#xff…

汇编与逆向(二)-汇编基础

一、汇编入门 (一)x86体系的CPU的工作模式 有两种基本的工作模式:实模式和保护模式。 实模式:也称为实地址模式,该模式最早被DOS,win9x所支持。可访问1M内存,可直接访问硬件,如对…

【游戏设计原理】77 - 沙盒与导轨

沙盒式体验和导轨式体验是游戏设计中两种截然不同的理念和手法,它们各自的特性和目标受众决定了其适用场景和设计思路。以下是对这两种体验的理解: 一、沙盒式体验 核心特点 自由度高:沙盒游戏给予玩家极大的自由,让他们自己决定…

【STM32】-TTP223B触摸开关

前言 本文章旨在记录博主STM32的学习经验,我自身也在不断的学习当中,如果文章有写的不对的地方,欢迎各位大佬批评指正。 准备工作 今天这篇文章介绍的是触摸开关这一外围硬件。 ST-link调试器STM32最小系统板单路TTP223B触摸传感器模块LE…

Python的进程和线程

ref 接受几个设定: 进程是一家almost密不透风的公司,缅甸KK园区 线程里面工作的…人 进程**[园区]**内公共资源对于进程来说,可以共享. 别的园区[进程],一般不能和自己的园区共享人员资源,除非… 好的,现在再接受设定: 单个CPU在任一时刻只能执行单个线程,只有…

消息队列篇--原理篇--Pulsar和Kafka对比分析

Pulsar和Kafka都是高性能、分布式的消息队列系统,广泛应用于大规模数据流处理和实时分析场景。然而,它们的设计哲学、架构特点和适用场景存在显著差异。以下是Pulsar和Kafka的详细对比,帮助你根据具体需求选择最合适的技术。 1、架构设计 P…

Git实用指南:忽略文件、命令别名、版本控制、撤销修改与标签管理

目录 1.忽略特殊文件 1.1.那如何配置我们需要忽略的文件的呢? 1.2.如何检验效果? 2.给命令配置别名 3.基本操作之版本回退 3.1.使用场景: 3.2.使用方法: 4.撤销修改 情况一:对于工作区的代码,还没…

Saas Paas Iaas服务区别

Saas、Paas和Iaas是云计算中常见的服务模式,它们分别代表软件即服务(Software as a Service)、平台即服务(Platform as a Service)和基础设施即服务(Infrastructure as a Service)。仅供大家参考…

nslookup在内网渗透的使用

1. 什么是 nslookup? nslookup(Name Server Lookup)是一个用于查询 DNS(域名系统)记录的命令行工具。通过该工具,用户可以查询域名的解析结果,例如获取某个域名对应的 IP 地址或查找域名的相关记…

博客搭建 — GitHub Pages 部署

关于 GitHub Pages GitHub Pages 是一项静态站点托管服务&#xff0c;它直接从 GitHub 上的仓库获取 HTML、CSS 和 JavaScript 文件&#xff0c;通过构建过程运行文件&#xff0c;然后发布网站。 本文最终效果是搭建出一个域名为 https://<user>.github.io 的网站 创建…

pikachu靶场-敏感信息泄露概述

敏感信息泄露概述 由于后台人员的疏忽或者不当的设计&#xff0c;导致不应该被前端用户看到的数据被轻易的访问到。 比如&#xff1a; ---通过访问url下的目录&#xff0c;可以直接列出目录下的文件列表; ---输入错误的url参数后报错信息里面包含操作系统、中间件、开发语言的版…

阿九的python 爬虫进阶课18.3 学习笔记

文章目录 前言1. 爬取大标题2. 爬取小标题3. 证券栏下的标题4. 某篇文章里的具体内容 前言 网课链接&#xff1a;https://www.bilibili.com/video/BV1kV4y1576b/新浪财经网址&#xff1a;https://finance.sina.com.cn/需先下载库&#xff1a; conda install lxml布置爬取的一…

客户案例:电商平台对帐-账单管理(亚马逊amazon)

账单管理&#xff1a; 功能定义&#xff1a; 账单管理用于上传亚马逊&#xff08;amazon&#xff09;平台下载的原始账单数据&#xff0c;美国站、日本站、墨西哥站等账单模板直接进行数据上传&#xff0c;做到0调整&#xff0c;下载下来的账单数据无缝上传至对账平台-账单管…

web端ActiveMq测试工具

如何用vue3创建简单的web端ActiveMq测试工具&#xff1f; 1、复用vue3模板框架 创建main.js,引入APP文件&#xff0c;createApp创建文件&#xff0c;并加载element插件&#xff0c;然后挂载dom节点 2、配置vue.config.js脚本配置 mport { defineConfig } from "vite&qu…

linux-ubuntu学习笔记碎记

~指/home/user_name这个目录 查看软件安装目录&#xff1a;whereis vim 查看当前路径&#xff1a;pwd 终端中键入ctrls会挂起终端&#xff0c;即终端不响应键鼠&#xff1b;ctrlq可以恢复。 和虚拟机开启共享文件夹互传文件 点击桌面&#xff0c;按ctrlaltt&#xff0c;开…

QT调用OpenSceneGraph

OSG和osgQt编译教程&#xff0c;实测通过 一、下载OpenSceneGraph OpenSceneGraphhttps://github.com/openscenegraph/OpenSceneGraph 二、使用CMAKE编译OpenSceneGraph 1.打开cmake&#xff0c;配置源代码目录 2. CMAKE_INSTALL_PREFIX设置为install文件夹&#xff0c;生…

ES6 简单练习笔记--变量申明

一、ES5 变量定义 1.在全局作用域中 this 其实就是window对象 <script>console.log(window this) </script>输出结果: true 2.在全局作用域中用var定义一个变量其实就相当于在window上定义了一个属性 例如: var name "孙悟空" 其实就相当于执行了 win…