问题陈述

当我运行项目(或特定用例)时,它显示错误:vshost32.exe已停止工作

评定

vshost是在Visual Studio 2005中引入的(仅在VS中使用)。这些是文件名中包含vshost的文件,并位于应用程序的输出(默认bin)文件夹下。这是我们在Visual Studio中构建项目时创建的“托管过程”。

它具有以下核心职责:

  • 为改善F5性能提供支持:若要使用F5 command,在调试模式下运行托管应用程序,Visual Studio将需要AppDomain为运行时环境提供一个可以在其中运行应用程序的位置。创建AppDomain和初始化调试器需要花费大量时间。托管过程通过在我们按F5之前在后台完成所有这些工作来加快此过程的速度,并将状态保持在应用程序的多次运行之间。
  • 用于部分信任调试:在调试器下在Visual Studio中模拟部分信任环境将需要对AppDomain进行特殊初始化。这由托管过程处理。
  • 用于设计时表达式评估的方法:从immediate window中测试应用程序中的代码,而无需实际运行应用程序。托管过程用于在设计时表达式评估下执行代码。

更多细节可以在这里阅读。

有了以上详细信息,通过AppDomain与操作系统进行交互时可能会出现问题,从而导致错误。

可能的解决方案

通常,将找出问题是由于Visual Studio托管过程引起的还是与vshost交互发生的其他问题。

场景1

它是64位操作系统,应用程序配置为以AnyCPU的形式构建,但出现错误。

尝试

32位/ 64位问题通常与操作系统功能和位置不同有关。在Build配置中有一个设置可以在为AnyCPU设置调试器时对其进行驱动。您需要关闭(取消勾选)“优先32标志才能在64位模式下运行。

现在,即使进行了上述更改,我们仍将面临32/64位区域的问题。这就是vshost仍在发挥作用的地方。不论上述情况如何,vshost标志都继续在32位模式下运行(平台配置AnyCPU)。现在,启用托管过程后,对某些API的调用可能会受到影响。在这些情况下,有必要禁用托管过程以返回正确的结果。有关如何在“调试”选项卡中将其关闭的详细信息:如何:禁用主机进程

通过上述更改,AnyCPU配置将等同于该应用作为平台目标x64配置。

场景2

应用程序配置为以x86(或AnyCPU)的形式构建。

尝试

如果工作流与第三方有关,则对于32位应用程序,无论操作系统是32位还是64位,都应使用32位运行时。

场景3

应用程序针对涉及非托管程序集的特定代码工作流抛出错误。

尝试

如果工作流包括对外部程序集的互操作调用(在CLR的控制之外执行的非托管代码),则可能是对all函数的使用不正确。我已经看到了错误的返回类型会导致vshost错误的示例。外部DLL的返回类型不能是string,必须是IntPtr。

[DllImport("Some.dll", CallingConvention = CallingConvention.Cdecl)]
private static extern IntPtr SomeMethod();

场景4

应用程序针对托管代码领域中的特定代码工作流抛出错误(通过CLR)。

尝试

在执行特定工作流程时,该过程可能会花费一些时间。如果该进程很长时间很忙,则可能会引发错误。解决方案之一是在BackgroundWorker线程上尝试整个长时间操作并释放UI线程。

结论

我们可以关掉vshost,只要我们不需要它就行。使用与应用程序预期运行环境相同的调试环境(32/64位)总是有帮助的。我们应该认识到第三方程序集或非托管程序集所做的操作,并拥有与应用程序交互的正确的代码/文件集。

vshost32.exe停止工作相关推荐

  1. 在win7下用vs2008 编译程序时出现“mt.exe停止工作”问题的解决办法

    在win7下用vs2008 编译程序时出现"mt.exe停止工作"问题的解决办法: 项目->属性->链接器->清单文件->生成清单,把后面的值改为" ...

  2. 解决 adb.exe 停止工作小续

    继adb 停止工作的问题之后,又碰见了adb 停止工作的问题. 在使用adb install app.apk 之后给出错误信息如下: * daemon not running. starting it ...

  3. python下载文件损坏_pythonw.exe停止工作,无法运行IDLE或任何.py文件 - python

    此问题与任何代码都不完全相同.我认为我的安装(python 3.3.5)以某种方式损坏.我尝试了卸载和重新安装以及修复,但是没有任何效果.自从我上次运行任何python代码或进行涉及python的操作 ...

  4. 打开 codeblocks 出现 ntvdm.exe 停止工作

    打开codeblocks出现错误,但是不影响使用. 不知道是哪里出了问题. 转载于:https://www.cnblogs.com/westfly/archive/2012/03/05/2380067 ...

  5. 【转】android错误 aapt.exe已停止工作的解决方法

    http://www.jb51.net/article/57420.htm 在使用eclipse进行安卓java的编程的时候,有时候我们会遇到这样的问题:那就是无故弹出aapt.exe停止工作的提示, ...

  6. aapt.exe已停止工作 r.java_【转】android错误 aapt.exe已停止工作的解决方法

    http://www.jb51.net/article/57420.htm 在使用eclipse进行安卓java的编程的时候,有时候我们会遇到这样的问题:那就是无故弹出aapt.exe停止工作的提示, ...

  7. exe已停止工作_win7系统提示com surrogate已停止工作的解决方法【介绍】

    我们在平时的工作当中,经常有时候需要打开图片,不过最近有位win7系统用户使用电脑打开图片的时候提示:com surrogate已停止工作,这让用户非常苦恼,那么win7系统提示com surroga ...

  8. .exe已停止工作_这几天我遇到了前所未有的问题windows10 1809 explorer.exe资源管理器频繁崩溃...

    这几天 我遇到了前所未有的问题 windows10 1809 explorer.exe资源管理器频繁崩溃? 这系统这玩意儿 你越折腾他 他越容易出毛病 本想着Windows10 1703用到win10 ...

  9. 虚拟机vmware11装Mac ox 10.8 解决windows8.1下unlocker202 vmxsmc.exe已停止工作的问题

    转载:http://tieba.baidu.com/p/3485956366 先说说故事吧,相信很多图钉都用过VMware Workstation这个软件.我系统是win8.1up1,之前用VMwar ...

最新文章

  1. PHP的一种缓存方案静态化
  2. 人工智能功能级别与框架|《远望译品》
  3. MySQL 四种事务隔离级别详解及对比--转
  4. hybris commerce storefront的产品搜索功能
  5. loading initial ramdisk 卡住_驿站晨读 | 一城市多家快递“卡住了”!有快递网点直接建议:换别家吧......
  6. L8ER的完整形式是什么?
  7. 04_Spring中使用Quartz
  8. JVM专题之分代模型:年轻代、老年代、永久代
  9. oracle lpad 字符集,oracle Lpad()函数和Rpad()函数的用法
  10. Google Talk Testing(早期版本)
  11. MATLAB Simulink 中的过零检测与代数环
  12. ppt导出pdf后非矢量图图片失真的解决办法
  13. missing required library libmysql_e.dll,126 解决办法
  14. STM32超低功耗入门之唤醒
  15. 氧化镁MgO晶体基片|钛酸锶SrTiO3晶体基片|铌酸锂LiNbO3晶体基片;直径10mm
  16. 【NOIP2015模拟10.28B组】终章-剑之魂题解
  17. 导出excel此单元格中的数字为文本格式,或者其前面有撇号
  18. Dynamodb 备份策略
  19. Android学习笔记-recreate()方法导致fragment重复新建的问题,解决方法
  20. 【待研究】THP对fork速度的影响

热门文章

  1. c语言结构体菜单显示框架,请教c语言结构体嵌套问题。field `atItem' has incomplete type...
  2. 富文本框让最大四百像素_富文本框的使用
  3. python抓取网站图片_利用python抓取网站图片
  4. oracle group by 取最新的一条_大国智能制造全文免费阅读_大国智能制造最新章节_乌溪小道的小说...
  5. 潮流渐变色彩的UI插画素材,吸睛没毛病
  6. 卡通形象医疗病毒细菌宣传海报模板,psd分层,方便应用!
  7. 一流设计导航|16map|效率导航最全设计类软件!速度收藏!!
  8. python爬虫都需要什么手续_Python爬虫入门 | 3 爬虫必备Python知识
  9. C++ 手动实现简单的智能指针类
  10. Python爬虫--51job爬取岗位信息并写入txt文件