C# 项目生成bin和obj两个目录,并且都包含Debug目录bin的Debug目录下游exe,可以运行,obj下有exe也可以运行,这有什么区别?
网上找了一下说是先编译在obj下再复制到bin下,用bin下的文件打包、发布就可。
感觉不是很清楚,希望了解的大虾指导一下。
另外Pdb后缀是什么文件,有什么用,.vshost.exe后缀是什么文件,有什么用呢?

解决方案 »

  1.   

    .EXE文件没有CLR运行时环境是不能执行的
      

  2.   

    后缀为
    .Properties.Resources.resources.csproj.GenerateResource.Cache的文件又有什么用?
      

  3.   

    网上找到的,大虾们看看,对不对?
    "*.vshost.exe"是为了提高   F5   功能而设置的。简单的说,就是在你编制程序的过程中,IDE   已经在为你的程序调试做准备了,也可以理解为搭环境。     
      如果找不到Vshot   以及其它的文件,程序的配置文件等将不能正确装载。     
      "*.vshost.exe"   和"*.vshost.exe.config"   文件只是在   IDE   里编程的时候需要,在部署的时候,这些都可以不打包。   
     程序数据库(pdb)文件保存着调试和项目状态信息,使用这些信息可以对程序的调试配置进行增量链接。
      

  4.   


    是不是bin下面的是用来编译的?
    obj下面的是优化过的用来发布的?好像编译的时候不会对源码进行优化
    正式发布的时候会有这个过程~·
      

  5.   

    即使是优化来发布也是用Bin下面的
    有种说法是obj是调试时执行,bin是只执行不调试下运行的
    可是我刚才Try了一下,只要编译,不管是调试还是只执行,就会立即生成obj,bin下的文件
    真是糊涂了