在一个工程里以(.csproj.user), (.csproj), (.sln), (.suo), (.projdata), (.scc)为后缀的文件都是些什么文件,有些什么用?查询了相关资料,作了如下总结:
解决方案文件(.sln 和 .suo)
Visual Studio .NET 采用两种文件类型(.sln 和 .suo)来存储特定于解决方案的设置。这些文件总称为解决方案文件,为解决方案资源管理器提供显示管理文件的图形接口所需的信息,从而使您每次继续开发任务时,都能够全身心地投入到项目和最终目标中,不会因开发环境而分散精力。
扩展名名称说明
.sln Visual Studio.Solution 通过为环境提供对项目、项目项和解决方案项在磁盘上位置的引用,可将它们组织到解决方案中。
.suo 解决方案用户选项 记录所有将与解决方案建立关联的选项,以便在每次打开时,它都包含您所做的自定义设置。
以下是一篇老外写的,原文如下:翻译
当你浏览一个工程目录时,总会感觉到.NET Framework的文件类型有点扑朔迷离。本文将让你对.NET和Visual Studio .NET的不同文件及其扩展有更深入的了解。
当你访问公共站点时看到URL中熟悉的文件扩展时,你一定立即认出该站点开发所使用的工具。虽然HTML是因特网的标准,然而你会经常碰到.asp并奇怪为何开发者使用这一古老的技术。如果你发现.aspx,你一定猜想程序员开发时使用的ASP.NET版本号。
最近与一位.NET开发人员的交流中让我想到,.NET与Visual Studio .NET(VS.NET)之间许多文件类型的差别。由此,这里概括了不同文件类型的作用,尤其给出它们不同场合时使用细节。
VS.NET的文件类型
现在让我们看看VS.NET使用的文件,VS.NET是当前最为流行的.NET开发的IDE。以下列表提供了有关VS.NET使用的通用文件(只涉及到C#和VB.NET):
•.SLN: VS.NET 方案文件,包括:包含在解决方案中的项目信息,以及通过属性窗口访问全局构建设置。
•.SUO: VS.NET方案用户选项文件。它用于存储特定用户的设置。VS.NET中的源控制集成包使用这一文件存储Web项目的转换表、项目的离线状态、以及其它项目构建的设置。
•.CSPROJ:一个 VS.NET C#项目文件,它包括项目细节,比如参考内容、名称、版本等等 。
•.CSPROJ.USER: C#项目的用户选项。
•.VBPROJ:一个VS.NET VB.NET项目文件。
•.VBPROJ.USER: VB.NET 项目的用户选项。
普通开发文件
当开发一个Web站点,Windows服务,或者Windows程序时,你可能会使用到以下的文件类型:
•.vb:包含VB.NET 源代码的文件。
•.cs:包含C#源代码的文件
•.xsd: XML schema文件,即XML的数据定义标准。你可以使用这些文件处理数据集与类。
•.mdf:一个本地数据的空SQL数据库。
•.xml:一个XML文件与数据标准。
•.xslt:一个XSLT文件,即转换XML文档的标准。
•.cd:一个类图表文件。
•.js:一个包含JavaScript代码的文件。
•.vbs:一个包含VBScript代码的文件。
•.wsf:一个包含可运行在Windows程序脚本的文件。
•.config:一个可使用存储程序设置的程序配置文件。ASP.NET使用这一文件来配置Web设置,它使用到一个你无法更改的Web.config 文件。
•.resx:用于编辑和指定程序来源的文件。
•.ico:一个用于建立习惯图样的图象文件。
•.rpt:可发布到Web或Windows窗体的Crystal Reports文件。
•.txt:一个简单的文本文件。
然而你可以在不必考虑项目类型的情况下使用到这些文件。特定的项目有其对应的特定文件类型。例如,你可以在Web开发项目中使用以下文件类型。
ASP.NET的文件类型
ASP.NET使用特定的文件类型。以下列表提供了文件类型说明,这些文件类型在ASP.NET开发中你都会遇到。
•.aspx:包含代码分离(code-behind) 文件的Web窗体。
•.asax:这一文件允许你编写代码以处理全局ASP.NET 程序事件。文件中包括一个无法更改的global.asax文件。
•.ashx:执行一个通用句柄的页面。
•.asmx:一个ASP.NET Web服务,包括相应的代码分离文件。
•.htm:一个标准的HTML页。
•.css:一种在站点上使用的层叠式列表。
•.sitemap:一种Web程序的站点地图。
•.skin:用于指定ASP.NETA theme 的文件。
•.browser: 浏览器定义文件。
•.disco:一种可选择的文件。
•.ascx: Web用户控件。
你也可以使用列表中没有的其它文件,这取决于程序被编译与配置的方式。
其它文件
如果你编译程序,在程序主路径的默认bin文件中将生成一个.exe文件。同时,也生成一个.pdb文件。这一.pdb文件包括编译与项目状态的信息。在编译过程中,这些文件自动生成,但你也可以在编译过程中对其控制而不让其生成。在编译过程你还会碰到另一文件,即被Application Center Test使用的.act文件。
现在,你已经对.NET Framework的文件类型有所了解。熟悉这些特定文件作用的优点是,如果文件丢失,你将可以重新生成这一文件。
本文作者Tony Patton的职业生涯始于应用程序开发员,并已经获得了Java、VB、Lotus和XML的认证,知识面非常宽广。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/Rommen/archive/2010/05/06/5561808.aspx
========================
Visual Studio 2008实际上为解决方案创建两个文件,其扩展名分别为.suo和.sln(解决方案文件)。第一个文件是难于编辑的二进制文件。它包含了与用户相关的信息。例如,解决方案在上一次关闭时打开的文件和断点的位置。该文件被标记为隐藏,因此使用Windows资源管理器时,它不会显示在解决方案文件夹中,除非启用了显示所有文件的选项。
.suo文件偶尔会被破坏,从而在构建和编辑应用程序时出现意想不到的结果。如果Visual Studio对于每个解决方案不稳定,就应删除.suo文件。下次打开解决方案时,Visual Studio会重建它。
.sln解决方案文件包含了与解决方案相关的信息,如项目列表、构建配置和其他非项目相关的设置。与Visual Studio 2008使用的其他文件不同,解决方案文件不是XML文档,因为它把信息存储在块中,如下面的示例文件所示:
Microsoft Visual Studio Solution File, Format Version 10.00
# Visual Studio 2008
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "FirstProject",
"FirstProject\FirstProject.vbproj",
"{D4FAF2DD-A26C-444A-9FEE-2788B5F5FDD2}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{D4FAF2DD-A26C-444A-9FEE-2788B5F5FDD2}.Debug|Any CPU.ActiveCfg =
Debug|Any CPU
{D4FAF2DD-A26C-444A-9FEE-2788B5F5FDD2}.Debug|Any CPU.Build.0 =
Debug|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal
上面的示例解决方案由一个FirstProject项目和一个用于概述解决方案设置的Global部分组成。HideSolutionNode设置为FALSE,因此该解决方案在Solution Explorer中可见。如果要把这个值改为TRUE,该解决方案名就不会显示在Visual Studio中。