zoukankan      html  css  js  c++  java
  • 奇怪的VS产生的各种文件说明(大杂烩) debug/release/bin/obj/properties……

      咱们都是.net的程序员,首选的开发工具就是微软的vs,话说vs真的版本好多,不管你用啥版本,你真的对vs创建的东西和清楚吗?

    我看就不一定,最起码我是刚刚有点门道,给大家分享下:

    都是老司机了废话不多说了(我用的是vs2013),直接打开vs

    红色写1的地方是你的解决方案的名字(英文solution),话说一个解决方案里面包含多个项目(英文 project)。如你看到的红色2的地方是你项目名称,当你建新的解决方案的时候,解决方案的名字会和你建的第一个项目的名字一致(不一致,它叫什么啊?)。

    好了,什么都不用管,直接点击确定,进入vs建好的解决方案之后,在解决方案处右键,选择在文件资源管理器上查看。打开硬盘上的位置,看到这几个文件和文件夹

    里面有1个文件夹和2个文件。先说这2个文件,.sln文件和.suo文件都是解决方案的文件,属于配置文件一类的,vs自己生成的,里面的信息有比如说(版本信息,该解决方案有几个项目、用的那个.net framwork框架、建立该解决方案的是什么版本的vs等),总之里面的信息比较多,对于我们开发人员不用打开去更改里面的信息。

    在说文件夹WpfApplication2,这个文件夹里面包含的就是你建立的该解决方案中第一个项目的多有文件了,好了咱们打开

    比较没经验的程序菜鸟可能蒙了(我啥都没干怎么这么多东西),对于比较有经验的程序老鸟会说这都是vs自己生成的,不用管。咱们一起来看看他们到底是干什么的?

    1.WpfApplication2.csproj:该文件是你项目的总文件,和前面的.sln一样,里面包含的是项目的信息。

    2.MainWindow.xaml和MainWindow.xaml.cs:这两个文件是你项目建立的时候vs默认给生成的窗体,.cs结尾的是后台文件,.xaml结尾的是前台文件(因为我建立的wpf项目,如果你建立的是web程序,那就成了.aspx和.aspx.cs结尾的文件了)。

    3.App.config和App.xaml和App.xaml.cs这三个文件是你项目的配置文件(比如说一些公共的数据可以放在里面,那个窗体先初始化,异常了怎么处理等等)。

    4.Properties文件夹:这个文件打开你会发现里面有 AssemblyInfo.cs、.Designer.cs文件、.resx 文件

      4.1 AssemblyInfo.cs 类文件,用于保存程序集的信息,如名称,版本等,这些信息一般与项目属性面板中的数据对应,不需要手动编写。

      4.2.resx 资源文件,一些资源存放在这里,一般不需要看。

      4.3 .Designer.cs 设计文件,自动生成,不需要看。

    5.bin文件夹和obj文件夹放在一起说:

    obj是object的缩写,用于存放编译过程中生成的中间临时文件。其中都有debug和release两个子目录,分别对应调试版本和发行版本,在.NET中,编译是分模块进行的,编译整个完成后会合并为一个.DLL或.EXE保存到bin目录下。因为每次编译时默认都是采用增量编译,即只重新编译改变了的模块,obj保存每个模块的编译结果,用来加快编译速度。

    Bin 目录用来存放编译的结果,bin是二进制binrary的英文缩写,因为最初C编译的程序文件都是二进制文件,它有Debug和Release两个版本,分别对应的文件夹为bin/Debug和bin/Release,这个文件夹是默认的输出路径.

    上面2段话是有找的官方的解释,说的简单点就是obj是中间的编译模块存放的文件夹(你可想象成一个程序有很多模块组合成,而每个模块是独立的),然后bin文件夹就是把ob文件夹里的一个个的模块组装起来生成exe或者dll.

    这里要说一下的就是无论是bin还是obj文件夹中都有2个文件夹一个是debug/另一个是release,这两个文件夹也简单。debug文件夹带调试信息,我理解的就是有断点信息。release文件夹不含调试信息。速度和性能比debug文件夹中的能续效率高,最终给客户的是release文件夹中的程序。

  • 相关阅读:
    博客园20071027上海聚会
    上海招聘.NET(C#)程序员
    招人
    漂亮的后台WebUi框架(有源码下载)
    js插件库系列导航
    PrestoSQL(trinodb)源码分析 执行(下)
    Extjs4 (二)
    Struts2(1)简介
    css中的字体
    什么是REST架构
  • 原文地址:https://www.cnblogs.com/JK1989/p/6846679.html
Copyright © 2011-2022 走看看