visual studio vshost.exe 已停止工作的问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了visual studio vshost.exe 已停止工作的问题相关的知识,希望对你有一定的参考价值。
不知道怎么回事,很久没用的VS拿出来用的时候
自己编了一个小程序可以编译成功
但是如果激发事件里的代码有错
正常情况是会弹出提示窗口提示错误信息
到了我这就是弹出一个窗口说是vshost.exe已停止工作
关掉以后自动退出调试模式
装的VS2005和2008都是这样
重装无法解决问题,系统用的是win7
请各位帮帮忙
解决后送分~
不是死循环,是在给某个变量赋值的时候,另外一个是逐行读取文本,然后有的值为null就不能赋,正常情况是提示对象为空,我这个没有错误提示直接进程崩溃
工具栏左击“调试(D)”,左击下拉菜单最下面“XXX属性...(XXX是你工程名)”。
将平台改成Any CPU,最下方的 启用VS承载进程改成不勾选状态。
应该就没有报错了。
参考技术A 你在Visual Studio 2003的安装程序,右键,选择兼容性试试。 如果是.msi格式的安装程序,在服务中开启Windows Installer服务才行。 在开始--运行中输入services.msc,就可以打开服务对话框。 参考技术B 你看看给属性赋值的时候 是不是有问题 如果出现类似下面的代码,那么也算是死循环的private int _atmp;
public int Atmp
get
return _atmp;
set
Atmp = value;
像上面 在set 的时候 ,一直给自己赋值.变成一个没有出口的的递归了.
这个就是一个死循环的赋值.
所以 set 的时候 应该是 _atmp =value 而不是 Atmp = value; 参考技术C 应该是越界了。 参考技术D 楼主解决了这个问题没有,我也遇到类似问题追问
没有解决,已经记不得当时什么问题了,现在分析像是运行库冲突,不过现在装VS2010和2013一起不会有什么问题
追答我的机子上装了2005、2008、还有2010。现在遇到问题的时候就改成2010进行调试,而且必须改成.net 4.0才行,否则也会报类似错误:vshost32-clr2.exe停止工作。几台电脑都是这么装的,以前用2005,后来换成2010,最近用了一些控件,在2010下如果用.net2.0就会报错编译不能通过,由于用了c#3.0的一些特性,又不能用2005,所以只好装了2008。折腾啊。
Visual Studio 不生成.vshost.exe和.pdb文件的方法
使用Visual Studio编译工程时,默认设置下,即使选择了「Release」时也会生成扩展名为「.vshost.exe」和「.pdb」的文件。
一、先解释一下各个文件的作用:
.pdb文件:
程序数据库文件(Program Database File)。默认设置下,Debug的PDB是full,保存着调试和项目状态信息、有断言、堆栈检查等代码,可以对程序的调试配置进行增量链接。
而Release的默认设置对PDB指定为pdb-only,保存着程序出了什么错误,以及错误在哪行。
.vshost.exe文件:
宿主进程文件(VS host process),是Visual Studio 2005中的一项功能,主要是为了提高调试性能。 release时最好删除。
.vshost.exe.manifest 文件:
是一个以.manifest为后缀的XML文件,用于组织和描述隔离应用程序及并行组件,用于COM类、接口及库的绑定和激活,而这些信息,以往都是存储在注册表中的。
Manifests也制定了组成程序集的文件及Windows类,release 时也最好删除。
二、不生成这些文件的方法:
不生成.vshost.exe文件的方法
如图,打开工程属性的debug标签页,将构成选为「Release」,去掉「Visual Studio Hosting Process有效」的勾选后保存。
不生成.pdb文件的方法
如图,打开工程属性的build标签页,将构成选为「Release」后打开「详细设定」。将 「输出」中的「Debug信息」从「pdb only」变为「none」后保存。
以上是关于visual studio vshost.exe 已停止工作的问题的主要内容,如果未能解决你的问题,请参考以下文章
C#之app.configexe.config和vshost.exe.config作用区别
更换 与AfterBuild .exe.config不适用 .vshost.exe.config