VS Visual Studio

发布时间 2023-08-16 11:28:03作者: 王闯wangchuang2017

 

 VS2010中各种类型文件的作用:
    .sln 相当于VC6中 .dsw
    .suo 相当于VC6中 .ncb
 
.vcxproj 相当于VC6中 .dsp
    .vcxproj.filters 用于项目下文件的虚拟目录
    .vcxproj.user 是用户的一些相关配置
 
    其它文件和文件夹(res除外)一般都是中间物,在保存工程时删除不会有大问题。删除一些不重要的文件可以大大减少整个工程文件大小,节省磁盘空间。
 
Form.cs和Form.Designer.cs其实是一个类,Visual Studio为了让我们方便管理,用partial关键字把窗体类给拆开了,
 
Form.Designer.cs存放的是窗体的布局,你的窗体定义了哪些控件,那些控件的名字、属性等等,都是存放在Form.Designer.cs里面的,
而Form.cs则是用来存放处理方法的,比如你的按钮点击事件绑定了Button_Click这个方法,就会出现在Form.cs里,
而Form.resx则是用来存放你的窗体资源的,比如你自定义了你的窗体的图标,这个图标就会出现在Form.resx里面。
 
其实在早期版本的Visual Studio里,是没有Form.Designer.cs的,窗体的设计类和逻辑类全在一个文件里。
 
那么好处就显而易见了:便于管理。让你编程的时候能够更加直观。
 
 

Visual Studio项目目录和文件说明

原创 2017年02月13日 18:26:05
标签:
 
Visual Studio项目属性配置
VS6.0以及之前的版本是非常旧了,跟VS2002以及之后的版本有非常大的差别。
VS2002之后,虽然每个版本都有变化。但是思想上已经非常成熟了。
vc5,6的工程文件是.dsp
vc2002-2008工程文件是vcproj
vc2010之后是vcxproj
vcproj和vcxproj都是xml格式的。
 
我这里是使用VS2013的,内容可能跟其他版本有细微差别,但是都非常有参考价值了。
 
VS使用方案管理项目,一个解决方案下可以包含多个项目。
默认情况下,VS解决方案总目录下包含sln和一个项目文件夹,在编译器中生成debug和release解决方案后,总目录下还会生成对应的debug和release目录(存放的是中间编译文件obj)。
 
下面结合例子讲一下:solution为创建的解决方案,demo为创建的项目
解决方案solution总目录如下:
 
ipch目录内的文件和.sdf文件是visual studio用来保存预编译的头文件和Intellisense用的,删除这些文件对于工程开发完全没有影响。不能提交svn
.opensdf看名字就差不多知道意思了,好像只有打开工程的时候才会出现,关闭就会消失,估计是sdf的临时文件。不能提交svn
.sln(Visual Studio.Solution)通过为环境提供对项目、项目项和解决方案在磁盘上的位置的引用,可以将他们组织到解决方案中。需要提交svn
.suo(solution user option)解决方案用户选项,记录所有将与解决方案建立关联的选项,存储了用户对界面的自定义配置,包括布局、断点、打开的文件等。不能提交svn
 
项目demo目录如下:
.vcxproj项目文件
.vcxproj.filters用于项目下文件的虚拟目录,需要提交到svn
.vcxproj.user用户的一些相关配置,不能提交svn
 
除了这些,在Debug和Release目录下,还有一些文件。
.exe可执行文件
.exp导出库文件的文件,只有dll工程才有,包含了导出函数和数据项信息。链接工具使用这类文件来创建动态链接库。
.def告知编辑器不要以microsoft编译器的方式处理函数名,而以制定的某方式编译导出函数,这样可以避免由于VC++编辑器的独特处理方式引起的链接错误。
.ilk增量编译(incremental linking),取消增量编译可以不生成这种文件,对于大工程来说可能会变慢。
.pdb帮助软件调试的文件
.manifest文件为了解决不同的程序调用相同名称的但是不同版本的dll产生的问题。