日期:2014-05-18  浏览次数:20963 次

C# winform编译后的三个文件的作用是什么?
运行后,bin文件夹中会自动生成3个文件和一个应用程序。。。
其中的:
"*..pdb",
"*.vshost.exe",
"*..vshost.exe.manifest" 
的作用是什么?我试过删除这三个文件后,程序还是可以正常运行。

------解决方案--------------------
*.vshost.exe
宿主进程,帮助程式调试的.

*.Manifest
是Build专案的时候产生的的, 內含程式的MetaData(元数据),比如类型,强命名等

*.pdb
这个是MSDN的原句:"程序数据库 (PDB) 文件保存着调试和项目状态信息,使用这些信息可以对程序的调试配置进行增量链接。"
也是协助调试的文件.
------解决方案--------------------
PDB(程序数据库)文件保持着调试和项目状态信息,从而可以对程序的调试配置进行增量链接。
vshost.exe 是宿主进程文件。宿主进程是 Visual Studio 2005 中的一项功能,能提高调试性能,支持部分信任调试并支持设计时表达式计算。宿主进程文件的文件名中包含 vshost,并位于项目的输出文件夹中。
作用:
宿主进程创建一个应用程序域并将调试器与应用程序关联起来。执行这些任务会导致在开始调试和开始运行应用程序之间有很明显的延迟。通过在后台创建应用程序域和关联调试器,并在运行应用程序之间保存应用程序域和调试器状态,宿主进程使性能得到提高。部分信任调试及设计时表达式计算(即时窗口)。部分信任在安全页中配置

vshost.exe.manifest: Windows XP通过XML文件来实现这一功能,这些XML文件保存了有关应用程序配置的元数据,这里所说的XML文件,就是Manifest清单文件。
Manifest事实上就是一个以.manifest为后缀的XML文件,用于组织和描述隔离应用程序及并行组件,其内部的信息如<assemblyIdentity>元素则标识着一个唯一的程序集,和其他信息一起,他们用于COM类、接口及库的绑定和激活,而这些信息,以往都是存储在注册表中的。另外,Manifests也制定了组成程序集的文件及Windows类。
------解决方案--------------------
System.Diagnostics.Process p = System.Diagnostics.Process.GetCurrentProcess();
string fileName = p.MainModule.FileName;
运行时, 调试时, 你看看这个量是否有区别
------解决方案--------------------
程序数据库 (PDB) 文件保存着调试和项目状态信息,使用这些信息可以对程序的调试配置进行增量链接。
宿主进程 (vshost.exe)
宿主进程是 Visual Studio 2005 中的一项功能,能提高调试性能,支持部分信任调试并支持设计时表达式计算。

------解决方案--------------------
探讨
PDB(程序数据库)文件保持着调试和项目状态信息,从而可以对程序的调试配置进行增量链接。
vshost.exe 是宿主进程文件。宿主进程是 Visual Studio 2005 中的一项功能,能提高调试性能,支持部分信任调试并支持设计时表达式计算。宿主进程文件的文件名中包含 vshost,并位于项目的输出文件夹中。
作用:
宿主进程创建一个应用程序域并将调试器与应用程序关联起来。执行这些任务……