C# 编译Winform程序不生成.vshost.exe和.pdb文件的方法

14,125次阅读
没有评论

共计 759 个字符,预计需要花费 2 分钟才能阅读完成。

问题:使用Visual Studio编译工程时,默认设置下,即使选择了「Release」时也会生成扩展名为「.vshost.exe」和「.pdb」的文件。

C# 编译Winform程序不生成.vshost.exe和.pdb文件的方法

先解释一下各个文件的作用:

.pdb文件:

    程序数据库文件(Program Database File)。默认设置下,Debug的PDB是full,保存着调试和项目状态信息、有断言、堆栈检查等代码,可以对程序的调试配置进行增量链接。

    而Release的默认设置对PDB指定为pdb-only,保存着程序出了什么错误,以及错误在哪行。

.vshost.exe文件:

    宿主进程文件(VS host process),是Visual Studio 2005中的一项功能,主要是为了提高调试性能。 release时最好删除。

.vshost.exe.manifest 文件:

    是一个以.manifest为后缀的XML文件,用于组织和描述隔离应用程序及并行组件,用于COM类、接口及库的绑定和激活,而这些信息,以往都是存储在注册表中的。

    Manifests也制定了组成程序集的文件及Windows类,release 时也最好删除。
    下面就要谈到不生成这些文件的方法了:

 

不生成.vshost.exe文件的方法

如图,打开工程属性的debug标签页,将构成选为「Release」,去掉「Visual Studio Hosting Process有效」的勾选后保存。

C# 编译Winform程序不生成.vshost.exe和.pdb文件的方法

不生成.pdb文件的方法

如图,打开工程属性的build标签页,将构成选为「Release」后打开「详细设定」。将 「输出」中的「Debug信息」从「pdb only」变为「none」后保存。

C# 编译Winform程序不生成.vshost.exe和.pdb文件的方法

C# 编译Winform程序不生成.vshost.exe和.pdb文件的方法


删除之前产生的文件 

C# 编译Winform程序不生成.vshost.exe和.pdb文件的方法


重新生成的效果

C# 编译Winform程序不生成.vshost.exe和.pdb文件的方法


:由于用了打包软件,取的目录就是Release的目录,所以想直接生成就是可以打包的环境。


正文完
 0
admin
版权声明:本站原创文章,由 admin 于2020-10-18发表,共计759字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)
验证码