当我使用VS2008编译应用程序时,我有时会得到2个相同的配置文件:
后者是什么?
答案 0 :(得分:26)
这是一篇关于vshost流程及其目的的博客文章。
答案 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会启动实际的可执行文件并将其用于设计时评估,而无需托管过程。