VS中的编译文件

Posted

技术标签:

【中文标题】VS中的编译文件【英文标题】:Compiled files in VS 【发布时间】:2014-10-16 08:10:35 【问题描述】:

当我在 VB 中编译一个项目时,我得到以下文件:

<ProjectName>.exe
<ProjectName>.exe.config
<ProjectName>.pdb
<ProjectName>.vshost.exe
<ProjectName>.vshost.exe.config
<ProjectName>.vshost.exe.manifest

对它们的快速搜索可以提供有关它们的信息,其中包含调试数据等信息。但他们如何帮助我?你们用过这些文件吗?

假设我将制作一个程序并将其发送给朋友,建议发送什么?只是 .exe 文件还是更多?

【问题讨论】:

.exe.exe.config 是部署所必需的(加上任何引用的 DLL)。如果您在发布模式下构建,其他文件应该会消失。其余部分由 Visual Studio 在调试时使用。 取决于您是希望他们编辑源代码还是只希望他们使用该软件。顺便说一句,我不确定这里的主题是什么,所以这个问题可能会被关闭。 PDB:见***.com/questions/11202083/whats-the-pdb-file VSHost 文件:见***.com/questions/774187/… 为什么人们投票反对?我的问题有什么问题? 【参考方案1】:

您的项目输出(这里是 exe,但如果项目类型是库,则可能是 DLL)和使用该程序所需的配置文件,以及您可以在项目中使用的任何依赖项(外部库例子)

pdb 和 vshost 文件由您的程序用于调试,而不是您自己直接使用。并且它们仅在调试配置中生成(编辑:也可以在发布中生成,具体取决于您的配置)。

有关这些文件的更多 SO 问题:请参阅 cmets 中的 ClickRick 链接和其他链接:

关于PDB:

What's the PDB file? How do I use PDB files

关于 VSHOST 文件:

What is the purpose of the vshost.exe file? http://geekswithblogs.net/pavelka/archive/2006/08/11/WhatIsTheVshostExeDoing.aspx

【讨论】:

很好的答案,先生! 事实上,所有答案都提供了全局答案的一部分。 是的,我看到了。但我只能接受一个,我害怕。这就是人们反对它的原因吗? 我不知道,也许是因为这不是一个真正的“发展”问题 @DavidLarsson 人们对您的问题投了反对票,因为只需点击几下,您就可以找到已经回答的相同问题(大量问题)。【参考方案2】:

你可以在这里找到所有解释:

What is the purpose of the vshost.exe file?

引用丹尼尔·布鲁克纳的话:

.exe - '普通' 可执行文件

.vshost.exe - 用于帮助调试的特殊版本的可执行文件;看 MSDN了解详情

.pdb - 带有调试符号的Program Data Base

.vshost.exe.manifest - 一种configuration file 主要包含 对库的依赖

【讨论】:

以上是关于VS中的编译文件的主要内容,如果未能解决你的问题,请参考以下文章

VS中的编译文件

(译文)Macvlan vs Ipvlan

译文容器网络模型:CNI+vs+CNM

用vs2015写c++,编译报错项目已过期,怎么回事?

如何从 MS VS 中的大量 .c 和 .h 文件编译静态库

VS里属性窗口中的生成操作释义