...管理器下的一个项目是否就代表一个程序集??
发布网友
发布时间:2024-09-29 10:21
我来回答
共4个回答
热心网友
时间:2024-09-29 12:20
1.程序集和项目的关系,程序集,就是把.CS文件编译后生成的存放CLR能识别的MSIL语言(微软中间语言)的一个文件(如一个DLL文件或者一个exe文件都叫一个程序集)。一个项目可以编译到一个程序集,也可以把多个项目编译到一个程序集里面,还可以把一个项目编译到多个程序集里。
2.Bin(Binary,二进制的),obj(object,对象,目标码)Debug(调试)Release(发行)。根据字面意思也差不多知道它们各是干什么的了吧?
Bin文件夹,用于存放编译后生成的二进制文件。其下根据文件的不同用途,又建立了Debug和Release两个文件夹,分别存放用于调试和用于最终发布的文件。
obj文件夹,存放每个模块的编译结果。为了效率,.NET默认采用增量编译,即每次只重新编译改动过的模块,这样就有必要把每个模块的编译结果分别存放。
3.第1点已经说过,一个项目可以编译到多个程序集(技术可行,只是一般没那个必要),也说过一个DLL文件就是一个程序集。所以一个项目当然可以生成多个DLL文件。
同一个项目下可以有多个不同的命名空间。
4.项目、解决方案、命名空间都是查询开发时的逻辑分类,和文件(物理概念)的多少没有必然联系。程序集是物理存放机制。
解决方案的概念要比项目大。所以你在Visual Studio的“解决方案管理器”里总是看到的项目位于解决方案的目录之下。而没有见过一个解决方案位于项目之下的。综上所述,一个解决方案里可以包含多个项目。项目包含不了解决方案。
一个项目可以有多个命名空间,多个项目也可以共用一个命名空间。
希望能帮上你。若有异议盼指教
热心网友
时间:2024-09-29 12:23
1.程序集和项目不是一个意思,程序集的概念如下:
程序集是 .NET Framework 编程的基本组成部分。程序集执行以下功能:
包含公共语言运行库执行的代码。如果可移植可执行 (PE) 文件没有相关联的程序集清单,则将不执行该文件中的 Microsoft 中间语言 (MSIL) 代码。请注意,每个程序集只能有一个入口点(即 DllMain、WinMain 或 Main)。
程序集形成安全边界。程序集就是在其中请求和授予权限的单元。有关应用于程序集的安全边界的更多信息,请参见程序集安全注意事项。
程序集形成类型边界。每一类型的标识均包括该类型所驻留的程序集的名称。在一个程序集范围内加载的 MyType 类型不同于在其他程序集范围内加载的 MyType 类型。
程序集形成引用范围边界。程序集的清单包含用于解析类型和满足资源请求的程序集元数据。它指定在该程序集之外公开的类型和资源。该清单还枚举它所依赖的其他程序集。
程序集形成版本边界。程序集是公共语言运行库中最小的可版本化单元,同一程序集中的所有类型和资源均会被版本化为一个单元。程序集的清单描述您为任何依赖项程序集所指定的版本依赖性。有关版本控制的更多信息,请参见程序集版本控制。
程序集形成部署单元。当一个应用程序启动时,只有该应用程序最初调用的程序集必须存在。其他程序集(例如本地化资源和包含实用工具类的程序集)可以按需检索。这就使应用程序在第一次下载时保持精简。有关部署程序集的更多信息,请参见部署应用程序。
程序集是支持并行执行的单元。有关运行多个程序集版本的更多信息,请参见程序集和并行 (side-by-side) 执行。
程序集可以是静态的或动态的。静态程序集可以包括 .NET Framework 类型(接口和类),以及该程序集的资源(位图、JPEG 文件、资源文件等)。静态程序集存储在磁盘上的可移植可执行 (PE) 文件中。您还可以使用 .NET Framework 来创建动态程序集,动态程序集直接从内存运行并且在执行前不存储到磁盘上。您可以在执行动态程序集后将它们保存在磁盘上。
有几种创建程序集的方法。您可以使用过去用来创建 .dll 或 .exe 文件的开发工具,例如 Visual Studio 2005。您可以使用在 .NET Framework SDK 中提供的工具来创建带有在其他开发环境中创建的模块的程序集。您还可以使用公共语言运行库 API(例如 Reflection.Emit)来创建动态程序集。
2.Bin目录用来保存项目生成后程序集,它有Debug和Release两个版本,分别对应的文件夹为bin/Debug和bin/Release,这个文件夹是默认的输出路径,我们可以通过:项目属性—>配置属性—>输出路径来修改。
obj目录是用来保存每个模块的编译结果,在.NET中,编译是分模块进行的,编译整个完成后会合并为一个.DLL或.EXE保存到bin目录下。因为每次编译时默认都是采用增量编译,即只重新编译改变了的模块,obj保存每个模块的编译结果,用来加快编译速度。是否采用增量编译,可以通过:项目属性—>配置属性—>高级—>增量编译来设置。
3.就能生成一个类,没有听说过能生成多个类的.
可以有多个命名空间,就是多个namespace
4.命名空间和项目名没有关系,只是新建一个项目后,默认命名空间就是项目名
在项目属性里可以更改默认命名空间,默认命名空间就是新建一个代码文件
后,所采用的命名空间.
程序集前面说过了.
一个解决方案下面可以包括很多项目反之不可.
热心网友
时间:2024-09-29 12:17
1,一个项目就是一个独立的。。工程吧!比如一个程序或一个网站。
2,bin是一些库文件,obj是对象,debug是调试的时候生成的,release是发布生成的。
3,一个项目可以产生多个dll,一个项目可以引用多个命名空间,用using命令。
4,项目就是工程,比如一个程序或者一个网站,解决方案是项目的运行方式以及一些设置,程序集不清楚你指的是什么。
命名空间就比如说北京市海淀区一样,你要找海淀区某单位,就要告诉人家在北京市海淀区。命名空间作用:例如可以避免一些方法重名,另外一个方法可以在多个模块中调用。
热心网友
时间:2024-09-29 12:21
1、解决方案可以包含N个项目,整体可以是一个程序集,也可以是N个程序集,一个项目也可以是一个程序集,也可以是N个程序集,这是开发时的归类,不是最终成品的归类。
2、Bin是编译后文件的存放地,obj是目标文件目录,这都是编译时产生文件的存放地点,Debug是指当你在“解决方案配置”选项中选“Debug"时,生成目标的存放目录,而Release是你选“Release"时。。。一般来说,Debug指在除错、调试阶段用的,Release是发布时用的.
3、同1,项目只是开发时使用的归类,和你最终生成的东西并没有一一对应关系。
4、项目、解决方案是开发时的概念,或者说是Visual Studio组织文件的概念,而程序集、命名空间是程序本身的逻辑概念。