【100分!】VS C#中 解决方案资源管理器下的一个项目是否就代表一个程序集??

问题:1.解决方案资源管理器下的一个项目是否就代表一个程序集??

2.每个项目下的Bin、obj、Debug、Release等文件夹各是什么作用??

3.是不是一个项目只能生成一个dll文件?同一个项目下的所有文件是不是只能属于同一个命名空间??

4.项目、解决方案、程序集、命名空间等之间的区别是什么??【这个问题最重要】

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的“解决方案管理器”里总是看到的项目位于解决方案的目录之下。而没有见过一个解决方案位于项目之下的。综上所述,一个解决方案里可以包含多个项目。项目包含不了解决方案。
一个项目可以有多个命名空间,多个项目也可以共用一个命名空间。

希望能帮上你。若有异议盼指教
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-07-27
1、解决方案可以包含N个项目,整体可以是一个程序集,也可以是N个程序集,一个项目也可以是一个程序集,也可以是N个程序集,这是开发时的归类,不是最终成品的归类。
2、Bin是编译后文件的存放地,obj是目标文件目录,这都是编译时产生文件的存放地点,Debug是指当你在“解决方案配置”选项中选“Debug"时,生成目标的存放目录,而Release是你选“Release"时。。。一般来说,Debug指在除错、调试阶段用的,Release是发布时用的.
3、同1,项目只是开发时使用的归类,和你最终生成的东西并没有一一对应关系。
4、项目、解决方案是开发时的概念,或者说是Visual Studio组织文件的概念,而程序集、命名空间是程序本身的逻辑概念。
第2个回答  2009-07-27
1,一个项目就是一个独立的。。工程吧!比如一个程序或一个网站。
2,bin是一些库文件,obj是对象,debug是调试的时候生成的,release是发布生成的。
3,一个项目可以产生多个dll,一个项目可以引用多个命名空间,用using命令。
4,项目就是工程,比如一个程序或者一个网站,解决方案是项目的运行方式以及一些设置,程序集不清楚你指的是什么。
命名空间就比如说北京市海淀区一样,你要找海淀区某单位,就要告诉人家在北京市海淀区。命名空间作用:例如可以避免一些方法重名,另外一个方法可以在多个模块中调用。
第3个回答  2009-07-27
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.命名空间和项目名没有关系,只是新建一个项目后,默认命名空间就是项目名
在项目属性里可以更改默认命名空间,默认命名空间就是新建一个代码文件
后,所采用的命名空间.
程序集前面说过了.
一个解决方案下面可以包括很多项目反之不可.

【100分!】VS C#中 解决方案资源管理器下的一个项目是否就代表一个程序...
1.程序集和项目的关系,程序集,就是把.CS文件编译后生成的存放CLR能识别的MSIL语言(微软中间语言)的一个文件(如一个DLL文件或者一个exe文件都叫一个程序集)。一个项目可以编译到一个程序集,也可以把多个项目编译到一个程序集里面,还可以把一个项目编译到多个程序集里。2.Bin(Binary,二进制的)...

...选择窗体应用程序,在右上角解决方案资源管理器为什么会有program...
c#的项目之间是可以互相调用的,只要在引用中加入对应项目即可

C#中解决方案资源管理器各部分介绍
Properties 新建一个项目后,会自动生成一个Properties,在properties中,你可以放 协议(license)、配置信息、多语言资源等等。你图中的app.manifest 是以管理员身份运行软件的配置信息 引用 在这下面,是存放你在项目中,需要用到的引用文件 BLL\/DAL 你这项目中,使用的是三层架构模式,BLL是...

VS2015中C#怎么在解决方案管理器添加文件夹
其实你没弄错,只是文件-新建-项目,在出来的那个对话框里,钩上右下角的为解决方案创建目录(这里同时可以设定解决方案名称),创建出来的解决方案默认是只有一个项目的。在你图上标出来的解决方案资源管理器下,就可以在解决方案上右键-添加-新建项目注:这里指的版本都是企业版或者旗舰版,你在vs2012的...

VS2010运行C#项目 报错 提示缺少程序集引用
在右边的“解决方案资源管理器”上,右键你出错的“BLL”项目,弹出的菜单中选择“添加引用”,在弹出的对话框中选择“项目”选项卡,选择里面的“DAL”,然后确定,就能解决我在这个图上能看到的错误。不清楚的可以追问 追加一下,选择“项目”选项卡里的"SQLServerDAL"...

在C#中,一个解决方案里有多个项目,怎么才能写哪个项目就执行的是哪个...
在解决方案上点击右键,选择属性,选择当前选择项目就OK了,以后启动,想选中要启动的项目,就可以启动了

C#项目目录里存在的类在解决方案里不显示?
应该是项目文件中没有包含此类文件 以VS2015为例:在解决方案资源管理器中,点击“显示所有文件”,即可查看未被包含在项目中的文件和目录,如图 如果发现需要包含在项目中的文件,可以右键需要加入的文件或者目录,选择“包括在项目中”,如图

C#中同一个解决方案有多个项目时,为什么调试运行时,只能是第一个项目...
在“解决方案资源管理器”窗口里,右键单击你要调试运行的项目,在弹出菜单中单击“设为启动项目(A)”即可。

C#怎么把所有项目添加到一个项目里面?
把项目子文件夹拷贝到某一个项目的新建文件夹,例如ABC 然后在解决方案资源管理器中 上面一排按钮中找到“显示所有文件”勾选 然后就发现可以看到ABC文件夹了,右键点击ABC,选择包括在项目中,这样所有代码文件就进来了。注意:不同语言,不同特点的项目文件有些是不能合并的。

为什么在C#中同一个解决方案资源管理器下不能添加多个项目?
怎么会不可以呢?在“解决方案资源管理器”中右击“解决方案xxx”,再在弹出菜单中选择“添加”\/“新建项目”就OK了。

相似回答