目录
- 背景
- 具体步骤
- 1、Visual Studio中修改项目名和程序集名称以及命名空间
- 2、修改项目文件夹名
- 3、修改解决方案里项目的路径
- 4、再次打开解决方案,问题解决
- 步骤总结
- 名词解释
- 解决方案(Solution)
- 项目(Project)
- 程序集(Assembly)
- 命名空间(Namespace)
- 关系
- 比喻
背景
Visual Studio中新建一个解决方案和项目之后,想更改项目的名称,同时更改项目文件夹的名字(比如我想买把UI改成BLL)
文件夹中的名字
具体步骤
1、Visual Studio中修改项目名和程序集名称以及命名空间
在项目上右键直接更改项目名称
程序集名称以及命名空间名称的更改—双击BLL下面的properties,找到左侧的应用程序,依次修改为BLL
2、修改项目文件夹名
这里注意,如果只修改项目名称,不修改文件夹名称,是可以启动项目的
但是这样看起来不一致,所以我又去修改文件夹的名字,和项目名保持一致
如果只做这些修改(修改项目和文件夹名称),再次启动解决方案的时候会出现下面的问题
原因分析:修改了文件夹名字,但是项目启动仍旧会去之前的路径下找项目,但是路径变了,导致项目启动不了
原因查找:一定有地方写了这个路径,只要去修改路径,就可以解决这个问题,这个路径就写在了解决方案里(.sln文件)
3、修改解决方案里项目的路径
以下是解决方案(ComputerRoom.sln)里的内容
修改相对路径为更改之后的名称,保存
这里说一下解决方案的代码都写了什么内容,是做什么用的
解决方案文件是用于组织和管理多个项目的文件,它包含了整个解决方案的结构、配置和依赖关系。
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BLL", "BLL\BLL.csproj", "{E1C9D48E-06D2-422F-99A8-AB256BE29898}"
这是解决方案中的一个项目的定义。其中,{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} 是指示项目类型(在此情况下是 C# 项目)的唯一标识符,“BLL” 是项目的名称,“BLL\BLL.csproj” 是项目文件的相对路径,{E1C9D48E-06D2-422F-99A8-AB256BE29898} 是项目的唯一标识符。
GlobalSection(SolutionConfigurationPlatforms) 和 GlobalSection(ProjectConfigurationPlatforms)
这两个部分定义了解决方案和项目的配置。例如,“Debug|Any CPU = Debug|Any CPU” 表示解决方案中的 Debug 配置使用 Any CPU 平台。每个项目都可以有不同的配置。
GlobalSection(SolutionProperties)
这个部分定义了解决方案的属性。在这个例子中,“HideSolutionNode = FALSE” 表示解决方案资源管理器中显示解决方案节点。
GlobalSection(ExtensibilityGlobals)
这个部分定义了扩展性全局变量。在这个例子中,“SolutionGuid = {D541BF07-5DF3-488F-972A-0278B24BB9BE}” 是解决方案的唯一标识符。
总的来说,这段代码描述了一个解决方案中的一个项目,并提供了配置和其他属性的定义。通过解决方案文件,Visual Studio 可以正确加载和构建解决方案中的所有项目。
4、再次打开解决方案,问题解决
解决方案(Solution)是用于组织和管理多个项目(Project)的容器。Visual Studio 可以正确加载和构建解决方案中的所有项目。
为了验证这一点
我又建了一个项目DAO
保存,再次用记事本打开解决方案,里面有两个项目标识
步骤总结
- 修改项目名称和程序集名称以及命名空间名,确保它们保持一致。
- 修改文件夹名称。
- 修改解决方案文件中项目的相对路径。
- 再次打开解决方案,问题解决。
名词解释
解决方案(Solution)
- 解决方案是一个包含多个项目的容器,用于组织和管理相关联的项目。
- 解决方案可以包含一个或多个项目,通常用于组织大型应用程序或软件系统的代码。
- 解决方案文件(.sln)是一个文本文件,用于描述解决方案的结构、项目之间的依赖关系以及其他配置信息。
项目(Project)
- 项目是一个包含源代码文件、资源文件、配置文件等的逻辑单元,用于实现特定的功能或模块。
- 一个项目对应一个编译单元,可以编译成一个独立的程序集(Assembly)。
- 项目可以包含一个或多个命名空间(Namespace),用于组织和管理代码。
程序集(Assembly)
- 程序集是一个逻辑上独立的代码单元,可以是一个可执行文件(.exe)或一个动态链接库(.dll)。
- 程序集包含了类型的定义、资源文件、元数据等,可以被.NET运行时加载和执行。
命名空间(Namespace)
- 命名空间是用来组织和管理类型的一种机制,避免了类型名称之间的冲突。
- 命名空间提供了一种逻辑上的分组方式,使得代码结构更清晰、可读性更高。
关系
- 一个解决方案可以包含一个或多个项目,每个项目对应一个程序集。
- 一个项目可以包含一个或多个命名空间,用于组织和管理代码。
解决方案是项目的容器,项目是代码的逻辑单元,程序集是代码的物理单元,命名空间是代码的逻辑组织单元。它们共同组成了一个完整的软件开发和管理体系。
比喻
解决方案(Solution)就像是一个大楼,里面包含了多个不同的部门或功能区域。每个部门可以看作是一个项目(Project),负责实现特定的功能或提供特定的服务。
项目(Project)类似于部门,它是一个独立的单位,包含了完成特定任务所需的所有资源和人员。项目可以看作是建筑物中的各个部门,例如财务部、人力资源部等。
程序集(Assembly)就像是建筑物中的设备或机器,它们负责实际执行工作。每个程序集可以看作是一个独立的机器或设备,它们可以单独运行或与其他程序集配合工作。
命名空间(Namespace)类似于建筑物中的标签或标志,它们用于标识不同的部分或功能区域。命名空间可以看作是建筑物中的标志牌,指示了每个部分的名称和作用。