关于VS的解决方案资源浏览器管理.docx
- 文档编号:30084049
- 上传时间:2023-08-04
- 格式:DOCX
- 页数:17
- 大小:25.81KB
关于VS的解决方案资源浏览器管理.docx
《关于VS的解决方案资源浏览器管理.docx》由会员分享,可在线阅读,更多相关《关于VS的解决方案资源浏览器管理.docx(17页珍藏版)》请在冰豆网上搜索。
关于VS的解决方案资源浏览器管理
关于VS的"解决方案资源浏览器"管理…………
2010-07-2218:
00:
00| 分类:
C#/|举报|字号 订阅
一、关于新建内容的组织管理
新建一个文件,可在“解决方案资源浏览器”的解决方案上右键来新建网站、项目、新文件夹等。
通常一个web项目里面,为了高效地管理开发工作所需要的项,如引用、数据连接、文件夹和文件,我们经常把数据访问类、自定义控件之类的分离出来作为一个单独包.VisualStudio.NET提供了两个容器:
解决方案和项目。
查看和管理这些容器及其关联项的界面是“解决方案资源管理器”,它作为集成开发环境(IDE)的一部分提供。
项目和解决方案的一个重要区别是:
●项目是一组要编译到单个程序集(在某些情况下,是单个模块)中的源文件和资源。
例如,项目可以是类库,或一个WindowsGUI应用程序。
●解决方案是构成某个软件包(应用程序)的所有项目集。
容器:
解决方案和项目
解决方案和项目包含一些项,这些项表示创建应用程序所需的引用、数据连接、文件夹和文件。
解决方案容器可包含多个项目,而项目容器通常包含多个项。
一个解决方案里面就包含了web项目,数据访问类的项目,控件包的项目了。
作为一个整体管理解决方案的设置或管理单个项目的设置使用解决方案资源管理器处理文件管理细节,在您集中精力于那些组成开发工作的项时添加对解决方案中多个项目有用或对该解决方案有用的项,而不必在每个项目中引用该项处理与解决方案或项目无关的杂项文件。
项:
文件、引用、数据连接
项可以是文件和项目的其他部分,如引用、数据连接或文件夹。
在“解决方案资源管理器”中,项可以按下列方式组织:
作为项目项,项目项是构成项目的项,如“解决方案资源管理器”中项目内的窗体、源文件和类。
组织和显示方式取决于所选的项目模板以及所做的所有修改。
作为表示文件的解决方案项,适用于整个解决方案,位于“解决方案资源管理器”的“解决方案项”文件夹中。
作为表示实际文件的杂项文件,它们与项目或解决方案都没有关联,可显示在“杂项文件”文件夹中。
二、ASP.NET中常见文件夹的作用
概览:
文件夹名称
文件类型
注 释
Bin
.dll
包含应用程序所需的任何预生成的程序集
App_Browsers
.browser
包含应用程序特有的浏览器定义文件,ASP.NET用它来识别各浏览器及确定它们的功能
App_Code
.cs、.vb、.xsd、自定义的文件类型
包含作为应用程序的一部分编译的类的源文件。
当页面被请求时,ASP.NET编译该文件夹中的代码。
该文件夹中的代码在应用程序中自动地被引用
App_Data
.mdb、.mdf、.xml
包含Microsoft Office Access和SQL Express文件以及XML文件或其他数据存储
App_GlobalResources
.resx
包含在本地化应用程序中以编程方式使用的资源文件
App_LocalResources
.resx
包含页面范围的资源文件
App_Themes
.skin、.CSS、.xsl、附属文件
包含一组定义ASP.NET页面和控件外观的文件
App_WebReferences
.wsdl
包含用以生成代理类的WSDL文件,以及与在应用程序中使用Web服务有关的其他文件
详述
1. Bin文件夹
Bin文件夹包含应用程序所需的,用于控件、组件或者需要引用的任何其他代码的可部署程序集。
该目录中存在的任何.dll文件将自动地链接到应用程序。
如果在该文件夹中留有不用的或过期的文件,则可能出现“二义性引用(ambiguous reference)”异常的风险。
换句话说,如果两个不同的程序集定义相同的类(相同的命名空间和名称),则ASP.NET运行库不能决定应该使用哪一个程序集,从而抛出一个异常。
在开发时,当我们重新命名一个项目或一个程序集的名称时,这是常见的错误。
为了避免这种错误,一定不要在该文件夹中保留任何 不必要的程序集,或者至少要从配置文件的
在上表所列所有文件夹中,只有Bin可以被ASP.NET 1.x应用程序识别。
该文件夹是强制性的。
2. App_Browser文件夹
该可选的文件夹包含.browser文件。
.browser文件描述浏览器(不管是移动设备浏览器,还是台式机浏览器)的特 征和功能。
ASP.NET在安装路径下的Config\Browser文件夹中安装了大量.browser文件,这些文件供所有应用程序共享。
我们只是把 当前应用程序特有的浏览器文件放在App_Browser文件夹下。
.browser文件的内容即时动态地进行编译,以便向ASP.NET运行库提供最新 的浏览器信息。
3. App_Code文件夹
App_Code文件夹正好在Web应用程序根目录下,其存储所有应当作为应用程序的一部分动态编译的类文件。
这些类文件自 动链接到应用程序,而不需要在页面中添加任何显式指令或声明来创建依赖性。
App_Code文件夹中放置的类文件可以包含任何可识别的ASP.NET组件 ——自定义控件、辅助类、build提供程序、业务类、自定义提供程序、HTTP处理程序等。
注意 :
在开发时,对App_Code文件夹的更改会导致整个应用程序重新编译。
对于大型项目,这可能不受欢迎,而且很耗时。
为此,鼓励大家将代码进行模块化处理 到不同的类库中,按逻辑上相关的类集合进行组织。
应用程序专用的辅助类大多应当放置在App_Code文件夹中。
App_Code文件夹中存放的所有类文件应当使用相同的语言。
如果类文件使用两种或多种语言编写,则必须创建特定语言的子目录,以包含用每种语言编写的类。
一旦根据语言组织这些类文件,就要在web.config文件中为每个子目录添加一个设置:
重要的是,特定语言的子目录应在web.config文件中注册,否则,不管它们属于哪个文件夹,App_Code文件夹下 的所有文件将被编译成一个单独的程序集。
上述配置脚本描述了这么一种情况,即所有的C#文件都放在App_Code文件夹的根目录下,而把几个 Visual Basic .NET类文件移入VBFolder目录中。
如果
4. App_Data文件夹
App_Data文件夹应该包含应用程序的本地数据存储。
它通常以文件(诸如Microsoft Access或Microsoft SQL Server Express数据库、XML文件、文本文件以及应用程序支持的任何其他文件)形式包含数据存储。
该文件夹内容不由ASP.NET处理。
该文件夹是ASP.NET提供程序存储自身数据的默认位置。
注意 默认ASP.NET帐户被授予对文件夹的完全访问权限。
如果碰巧要改变ASP.NET帐户,一定要确保新帐户被授予对该文件夹的读/写访问权。
5. App_GlobalResources文件夹
正如其他应用程序一样,ASP.NET应用程序也可以使用资源,而且通常应该使用资源。
资源是隔离应用程序用户界面的可局部 化部分的一种有效方法。
一般而言,资源是与程序相关的不可执行的文本。
典型的资源有图像、图标、文本和附属文件,但是任何可序列化的对象也可以被看作资 源。
应用程序资源存储在应用程序的外部,这样就能在不影响和重新编译应用程序本身的情况下重新编译和替换它们。
6. App_LocalResources文件夹
App_LocalResources文件夹位于包含一些ASP.NET页面的文件夹下的一个子目录。
该文件夹可以使用位于 目录结构中高一级目录中的页面命名的.resx文件进行填充。
假定父文件夹包含test.aspx,则可以在App_LocalResources文件夹 中找到一些可用的资源文件如下:
test.aspx.resx、test.aspx.it.resx和test.aspx.fr.resx。
显然,上述文 件中存储的资源仅对test.aspx页面有影响,因而只能在链接的页面中看见它们(可以使用它们)。
如何访问一个页面特有的资源呢?
对于编程访问,可使用如下代码:
HttpContext.GetLocalResourceObject("/ProAspNet20/ResPage.aspx",
"PageResource1.Title")
第1个参数指出页面虚拟路径;第2个参数是资源名称。
对于声明式访问,使用meta:
ResourceKey属性。
例如,
Button Runat="server" meta: resourcekey="ButtonResource1" /> 该声明将一个惟一的资源键与特定按钮实例关联。 局部文件.resx包含prefix.name形式的条目,其中prefix 是资源键,而name是绑定控件上的属性名。 为了赋予按钮一个本地化标题(Text属性),只要在资源文件中创建一个 ButtonResource1.Text条目即可。 局部和全局资源文件夹中存在的资源文件都被编译,以创建附属程序集的类。 最后的结果是开发人员创建.resx文件,并测试该页面。 而ASP.NET编译机制会完成其余工作。 7. App_Themes文件夹 App_Themes文件夹为ASP.NET控件定义主题。 主题包含在App_Themes文件夹下的一个文件夹。 根据定义,一个主题是一组带有样式信息的文件。 主题文件夹中的文件内容被编译,以生成一个类,而该类被页面调用以编程的方式设置主题化控件的样式。 App_Themes文件夹列出应用程序的本地主题。 应用程序还可以继承如下文件夹中定义的全局主题: %WINDOWS%\Microsoft.NET\Framework\[version]\ASP.NETClientFiles\Themes 从编译的角度看,全局主题和局部主题没有区别。 如果一个给定名称的主题,既存在应用程序的本地主题,又存在服务器机器的全局主题,则本地主题优先适用。 8. App_WebReferences文件夹 在Visual Studio .NET 2003中,一个需要访问Web服务的ASP.NET应用程序,将通过“添加Web引用”对话框获得相应的.wsdl文件。 Web服务的WSDL(Web Service Description Language)文档,对于从页面使用Web服务是不够的。 ASP.NET页面最终是一个托管类,并且需要与另一个托管类通信。 因此,Web服务被一个 代理类所包装。 该代理类是由Visual Studio使用命令行工具wsdl.exe的服务创建的。 该代理类尽量包含与Web服务商的Web方法一样多的方法,并且它结合了Web服务的公共接口 定义的任何自定义的数据类型。 这个操作不需要开发人员付出很大的代价。 然而,开发人员显然要依赖于Visual Studio来生成代理类。 如果能够直接把.wsdl文件放在应用程序的目录树的某个地方,并让ASP.NET处理其余的任务,这样不是更容易、更简单吗? 这正好是App_WebReferences文件夹要做的事情。 它识别那些用来描述所绑定的Web服务的.wsdl文件,并生成运行时代理类,以便ASP.NET页面能够以类型安全的方式 放置对Web服务的调用。 App_WebReferences文件夹可以包含子文件夹。 子文件夹的名称驱动最后所得到的代理类的命名空间,而WSDL文件 定义类名。 例如,samples.wsdl文件和ProsAspNet20子文件夹将创建一个称为ProAspNet20.Samples的代理类。 该动态创建的程序集称为App_WebReferences.xxx.dll,其中xxx是一个随机的字符序列。 三、中各种类型文件解析 ASP.NET使用特定的文件类型。 以下列表提供了文件类型说明,这些文件类型在ASP.NET开发中会遇到 *.aspx是ASP.NET的页面文件,包含代码分离(code-behind)文件的Web窗体。 每个页面对应一个*.resx资源文件和一个*.aspx.cs的代码文件。 *.resx是资源文件。 每个页面都有一个资源文件相对应。 .asax: 这一文件允许你编写代码以处理全局ASP.NET程序事件。 文件中包括一个无法更改的global.asax文件。 global.asax是global.asa的.net版global.asax.cs是global.asax的后台文件。 .cs是c#类文件) .vb是vb类文件) .aspx.cs和你的webform相关的后台c#代码文件,其实跟.cs是一样的 .aspx.vb和你的webform相关的后台VB代码文件,其实跟.vb是一样的 *.ascx是一个用户自定义控件。 *.ascx.cs是自定义控件的代码文件,C#的是*.ascx.cs *.ascx.resx是自定义控件的资源文件。 web.config是整个WebApplication的配置文件。 *.csproj是CS.NET的工程文件。 *.csproj.webinfo是CS.NET工程文件的WebApplication文件。 *.sln是VS.NET的解决方案文件。 global.asax,global.asax.cs,web.config,*.csproj,*.vsdisco,*.csproj.webinfo,*.sln都是在建立一个WebApplication工程的时候自动产生的。 .ashx: 执行一个通用句柄的页面。 .asmx: 一个ASP.NETWeb服务,包括相应的代码分离文件。 .htm: 一个标准的HTML页。 .css: 一种在站点上使用的层叠式列表。 .sitemap: 一种Web程序的站点地图。 .skin: 用于指定ASP.NETAtheme的文件。 .browser: 浏览器定义文件。 .disco: 一种可选择的文件。 .XSD: XMLschema的一种.从DTD,XDR发展到XSD .pdb: PDB(程序数据库)文件保持着调试和项目状态信息,从而可以对程序的调试配置进行增量链接。 .suo: 解决方案用户选项,记录所有将与解决方案建立关联的选项,以便在每次打开时,它都包含您所做的自定义设置。 .vsdisco(项目发现)文件基于XML的文件,它包含为Web服务提供发现信息的资源的链接(URL)。 .htc: 一个HTML文件,包含脚本和定义组件的一系列HTC特定元素.htc提供在脚本中implement组件的机制 System.Resources名字空间支持三种资源文件: .txt文件,只能有字符串资源。 因为不能被嵌入到Assembly中,所以很容易暴露,被客户修改。 最大缺点是仅支持字符串资源,所以不推荐使用。 .resx文件,由XML组成,可以加入任何资源,包括二进制。 同样不能被嵌入到Assembly中。 在System.Resources名字空间中有专用读写的类。 VS.NET创建这种文件然后将其转成.resources文件并根据设置将其嵌入到Assembly中。 .resources文件,PE格式,可以加入任何资源。 唯一可以被嵌入到Assembly的文件,在System.Resources名字空间中有专用读写的类。 详细介绍: 文件类型/位置 (说明) .asax /应用程序根目录。 通常是Global.asax文件,该文件包含从HttpApplication类派生并表示该应用程序的代码。 (有关更多信息,请参见Global.asax语法。 ) .ascx /应用程序根目录或子目录。 Web用户控件文件,该文件定义自定义、可重复使用的用户控件。 (有关更多信息,请参见ASP.NET用户控件。 ) .ashx/应用程序根目录或子目录。 一般处理程序文件,该文件包含实现IHttpHandler接口以处理所有传入请求的代码。 (有关更多信息,请参见HTTP处理程序介绍。 ) .asmx/应用程序根目录或子目录。 XMLWebservices文件,该文件包含通过SOAP方式可用于其他Web应用程序的类和方法。 (有关更多信息,请参见XMLWeb服务的发布和部署。 ) .aspx/ 应用程序根目录或子目录。 ASP.NETWeb窗体文件,该文件可包含Web控件和其他业务逻辑。 (有关更多信息,请参见ASP.NET网页和ASP.NETWeb服务器控件。 ) .axd/ 应用程序根目录。 跟踪查看器文件,通常是Trace.axd。 (有关更多信息,请参见ASP.NET跟踪。 ) .browser/App_Browsers子目录。 浏览器定义文件,用于标识客户端浏览器的启用功能。 (有关更多信息,请参见ASP.NETWeb服务器控件和浏览器功能。 ) .cd/应用程序根目录或子目录。 类关系图文件。 (有关更多信息,请参见使用类关系图。 ) .compile/ Bin子目录。 预编译的stub(存根)文件,该文件指向相应的程序集。 可执行文件类型(.aspx、ascx、.master、主题文件)已经过预编译并放在Bin子目录下。 (有关更多信息,请参见ASP.NET网站预编译概述。 ) .cs、.jsl、.vb/ App_Code子目录;但如果是ASP.NET页的代码隐藏文件,则与网页位于同一目录。 运行时要编译的类源代码文件。 类可以是HTTP模块、HTTP处理程序,或者是ASP.NET页HTTP处理程序介绍的代码隐藏文件。 .csproj、.vbproj、vjsproj/ VisualStudio项目目录。 VisualStudio客户端应用程序项目的项目文件。 (有关更多信息,请参见项目和解决方案。 ) .disco、.vsdisco/ App_WebReferences子目录。 XMLWebservices发现文件,用于帮助定位可用的Webservices。 (有关更多信息,请参见XMLWeb服务的发布和部署。 ) .dsdgm、.dsprototype /应用程序根目录或子目录。 分布式服务关系图(DSD)文件,该文件可以添加到任何提供或使用Webservices的VisualStudio解决方案,以便对Webservice交互的结构视图进行反向工程处理。 (有关更多信息,请参见XMLWeb服务的发布和部署。 ) .dll /Bin子目录。 已编译的类库文件。 或者,可以将类的源代码放在App_Code子目录下。 (有关更多信息,请参见ASP.NET网站中的共享代码文件夹。 ) .licx、.webinfo /应用程序根目录或子目录。 许可证文件。 控件创作者可以通过授权方法来检查用户是否得到使用控件的授权,从而帮助保护自己的知识产权。 (有关更多信息,请参见如何: License组件和控件。 ) .master /应用程序根目录或子目录。 母版页,它定义应用程序中引用母版页的其他网页的布局。 (有关更多信息,请参见ASP.NET母版页。 ) .mdb、.ldb /App_Data子目录。 Access数据库文件。 (有关更多信息,请参见通过ASP.NET访问数据。 ) .mdf /App_Data子目录。 SQL数据库文件。 (有关更多信息,请参见通过ASP.NET访问数据。 ) .msgx、.svc/应用程序根目录或子目录。 IndigoMessagingFramework(MFx)service文件。 .rem /应用程序根目录或子目录。 远程处理程序文件。 (有关更多信息,请参见使用SOAP扩展修改SOAP消息。 ) .resources /App_GlobalResources或App_LocalResources子目录。 资源文件,该文件包含指向图像、可本地化文本或其他数据的资源字符串。 (有关更多信息,请参见应用程序中的资源或如何: 为ASP.NET网站创建资源文件。 ) .resx /App_GlobalResources或App_LocalResources子目录。 资源文件,该文件包含指向图像、可本地化文本或其他数据的资源字符串。 (有关更多信息,请参见应用程序中的资源或如何: 为ASP.NET网站创建资源文件。 ) .sdm、.sdmDocument /应用程序根目录或子目录。 系统定义模型(SDM)文件。 (有关更多信息,请参见系统定义模型(SDM)概述。 ) .sitemap /应用程序根目录。 站点地图文件,该文件包含网站的结构。 ASP.NET中附带了一个默认的站点地图提供程序,它使用站点地图文件可以很方便地在网页上显示导航控件。 (有关更多信息,请参见ASP.NET站点导航。 ) .skin /App_Themes子目录。 用于确定显示格式的外观文件。 (有关更多信息,请参见ASP.NET主题和外观。 ) .sln /VisualWebDeveloper项目目录。 VisualWebDeveloper项目的解决方案文件。 (有关更多信息,请参见项目和解决方案。 ) .soap /应用程序根目录或子目录。 SOAP扩展文件。 (有关更多信息,请参见使用SOAP扩展修改SOAP消息。 ) .config/应用程序根目录或子目录。 通常是Web.config配置文件,该文件包含其设置配置各种ASP.NET功能的XML元素。 Web.config文件是一个XML文本文件,它用来储存ASP.NETWeb应用程序的配置信息(如最常用的设置ASP.NETWeb应用程序的身份验证方式),它可以出现在应用程序的每一个目录中。 当你通过VB.NET新建一个Web应用程序后,默认情况下会在根目录自动创建一个默认的Web.config文件,包括默认的配置设置,所有的子目录都继承它的配置设置。 如果你想修改子目录的配置设置,你可以在该子目录下新建一个Web.config文件。 它可以提供除从父目录继承的配置信息以外的配置信息,也可以重写或修改父目录中定义的设置。 在运行时对Web.con
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 关于 VS 解决方案 资源 浏览器 管理
![提示](https://static.bdocx.com/images/bang_tan.gif)