用VS2005新建了一个WINDOWS应用,运行F5就出现“试图运行项目时出错:无法启用调试。绑定句柄无效。”
解决方法如下
将工程属性->调试->启用VISUAL STUDIO宿主进程 前的选中标志去掉.
在应用的属性中的DEBUG选项中去掉 Enable the Visual Studio hosting process前的勾
搜了一个出来看看:VSIDE:Hosting Process (vshost.exe) 宿主进程 Visual Studio
In brief:
◇ 这个由visual studio 编译产生的文件,你应该的在发布版中删除掉。
◇ 可以通过Project →Properties → Debug tab → Enable the Visual Studio hosting process CheckBox 开启或禁用。
Visual studio 2005里编译完项目,会发现有同名的assemblyName.vshost.exe产生。关于这个文件
微软官方的解释其作用是:提高调式的执行效率,使VS能够在设计时进行表达式运算和Partial-Trust调试。
◇ 提高调试效率
宿主进程(vshost.exe)创建一个与当前应用调试器相关联的应用域(Application Domain),执行这个操作很明显将增加开始调试到应用程序启动之间的时间,但是宿主进程可以通过这个应用域来提高调试效率和在应用运行期间保存应用域和调试器的状态。
◇ 设计时表达式运算
现在你可以不需要运行应用程序,就可以在 Immediate 窗口进行代码测试。
◇ Partial Trust 调试
应用程序可以通过 Project Designer 的安全设置页面指定为一个Partial Trust应用,调试这类型的应用需要特别初始化应用域,而该初始化工作由vshost.exe来完成。
注:如果你使用hosting process的话,AppDomain.CurrentDomain.FriendlyName和Assembly.GetCallingAssembly().FullName 的值与不使用时是不一致的。使用时AppDomain.CurrentDomain.FriendlyName的值为appname.vshost.exe,否则为appname.exe,使用时Assembly.GetCallingAssembly().FullName的值为
mscorlib,否则为你应用的信息。
可能存在的bug:The program .vshost.exe: Managed has exited with code -1073741819 (0xc0000005).
解决办法:使应用程序路径长度少有128字符,应用名称字符少于10字符。