什么是* .vshost.exe.config文件?

时间:2008-11-12 18:41:22

标签: visual-studio-2008 config

当我使用VS2008编译应用程序时,我有时会得到2个相同的配置文件:

  • *。exe.config
  • *。vshost.exe.config

后者是什么?

4 个答案:

答案 0 :(得分:26)

这是一篇关于vshost流程及其目的的博客文章。

http://blogs.msdn.com/dtemp/archive/2004/08/17/215764.aspx

答案 1 :(得分:17)

在VS内部调试时,您的应用程序将被称为[appname] .vshost.exe,因此.vshost.exe.config文件是.net运行时将查找程序配置的位置。

答案 2 :(得分:2)

我注意到了有关此行为的其他信息。

虽然VS将创建名为[appname] .vshost.exe.config的配置,但API调用:

var s = AppDomain.CurrentDomain.SetupInformation.ConfigurationFile

不会返回此名称,而是返回:[appname] .config

这是使用VS2010。未在VS2008中检查

答案 3 :(得分:1)

此文件的唯一目的是帮助调试和托管Process.Visual Studio托管进程可提高调试器性能。它启用了新的调试器功能,例如部分信任调试和设计时表达式评估。

如果禁用托管过程,则即使在“项目属性”的“安全性”页面上启用了部分信任安全性,部分信任调试也将不起作用。

您可以通过“项目”菜单禁用它->单击“属性”->“调试”选项卡->清除“启用Visual Studio托管过程”复选框。设计时表达式始终使用托管过程。在“项目属性”中禁用托管过程将禁用“类库”项目的设计时表达式评估。

对于其他项目类型,不禁用设计时表达式评估。相反,Visual Studio会启动实际的可执行文件并将其用于设计时评估,而无需托管过程。