问题标签 [vshost.exe]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - vshost.exe BEX64 在窗口关闭时崩溃
我正在运行带有最新更新的 Visual Studio 2012 和带有最新更新的 Win7 上的最新 ReSharper。我有一个使用 Entity Framework 6.1 的 .NET 4.5 x64 C# Topshelf 3.1.122 包装项目。无论调试器是否附加,当我通过关闭窗口退出正在运行的程序时,vshost.exe 将停止工作,我将不得不强制退出它。这似乎没有明显的效果;这很烦人。该行为仅发生在我的机器上,而不是其他开发人员的机器上。如果使用红色停止按钮停止调试会话,则不会发生崩溃。知道什么会导致这种情况吗?
问题签名:问题事件名称:BEX64 应用程序名称:REDACTED.vshost.exe 应用程序版本:11.0.50727.1
应用程序时间戳:5011d445 故障模块名称:ntdll.dll 故障模块版本:6.1.7601.18247 故障模块时间戳:521eaf24
异常偏移量:0000000000072c4a 异常Code: c000000d
Exception Data: 0000000000000000 OS Version: 6.1.7601.2.1.0.256.1
Locale ID: 1033 Additional Information 1: 402a Additional Information 2: 402ac0175590edba59c75743ddb69b2f Additional Information 3: e38f Additional Information 4: e38f53f34d74d36ff87488c7f8d2b32e
这是 Topshelf 包装器代码供参考:
如果我在 Main 的末尾或 svc.Stop 方法的开头放了一个断点,当我关闭窗口时调试器不会中断,vshost.exe 会立即崩溃。无论如何,我看不出我如何才能完成这个。
更新:我使用 WinDbg 附加到 vshost 进程,最后得到了实际的异常:
wpf - 运行 WPF 应用程序需要什么?
我复制了我的 .exe,加上它的 vshost.exe,加上它使用的 sqlite 数据库文件,但它不会在 Visual Studio 之外运行。当我双击我的 .exe 时没有错误消息 - 它只是不会运行。它缺少什么?
c# - vshost.exe 在 Visual Studio 2015 中未正确终止
我负责为我的雇主测试 VS 2015 以及它如何与我们当前的应用程序一起工作。我们目前对我们拥有的所有东西都使用 VS 2013,所以我知道那里没有问题。我遇到的问题是 vshost.exe 似乎没有正确终止或其他什么。我没有缩小确切的问题范围,但到目前为止,这是我所相信的。
这是我得到错误的方式:
- 在调试中运行我的应用程序
- 打开几个窗口
- 点击“停止调试”按钮(红色小方块)
- 清洁解决方案
- 重建解决方案
重建后,我在 EXE 中收到以下错误:
如果我打开任务管理器并手动结束 vshost.exe 进程,我可以再次成功重建,没有问题。但是,如果我采取相同的步骤,我将不再能够构建。
我在 2013 年测试了这些步骤,没有遇到问题。
另请注意,禁用“启用 Visual Studio 托管进程”确实可以缓解问题,但我不想禁用此选项。
其他人遇到过这个问题吗?我知道我们还处于早期发布阶段。有什么建议/解决方案可以尝试吗?我们的代码是否可能有问题(我非常怀疑,因为我很可能会在 2013 年得到错误)。
感谢我收到的任何帮助!
编辑:这是使用 C# 用 .Net 4.0 编写的 WPF 应用程序。此外,我已经验证如果我正常退出应用程序也会出现此问题(IE 我打开一个窗口,然后在 LastWindowClosed 的关闭模式下关闭它)
第二次编辑:这是一个在 Visual Studio 2015 中出现的新问题,并添加了新的实时诊断工具。
.net - 安装 Visual Studio 2015 会破坏 2010 的功能
这不是我第一次遇到这个问题。不幸的是,我想我第一次没有吸取教训。我假设这是另一个问题。我正在全新安装 Windows 7 Enterprise。
我安装了 2010 和 SP1。一切都很好。我工作了整整一周,没有任何问题。
我安装了 2015。2015 工作正常,但 2010 无法清理构建项目......
它甚至给了我这个错误,只需尝试运行Clean Solution
:
没有权限问题(我是管理员)。没有防病毒程序会以某种方式仅影响 2010。我什至尝试使用管理员权限运行 2010,没有区别。删除 bin 文件夹也不起作用,因为它不会让我在 2010 运行时(当我遇到这个问题时)。
另一个奇怪的是,它有时会通过重新启动 2010 来工作。不幸的是,断点无法工作:No symbols have been loaded for this document.
这绝对是 2015 年安装的问题,可能只有 4.6 本身。
关于发生了什么的任何想法?我要死在这里了。我已经处理这个问题好几个星期了,我已经无计可施了。
visual-studio-2010 - VS2010开始自动启动vshost进程
突然,没有明显的原因,我的 VS2010 已经开始为我的项目启动 vshost 进程,而我什至没有尝试启动它。
这是一个包含多个 DLL:s、一个 Asp.Net 项目和一个名为Diamonds.WinForm
. 当我设置Diamonds.WinForm
为“设置为启动项目”并选中“启用 Visual Studio 托管进程”选项时,VS2010 将立即启动一个Diamonds.WinForm.vshost.exe
进程。我什至没有尝试开始调试或任何东西。如果我取消选中“启用 Visual Studio 托管进程”,该进程将被终止,如果我再次选中它,该进程将再次启动。也就是说,当我单击复选框时,甚至在我保存设置之前。
这刚刚开始发生在今天早上,据我所知,我没有在我的系统、我的 VS2010 安装或设置或我的项目设置中更改任何内容。我确实更改了我的代码和 WinForms 设计。
我首先注意到这一点是因为当我尝试开始调试时,提示构建失败,无法Diamonds.WinForm.exe
从obj\Debug
文件夹复制到bin\Debug
文件夹,因为它正在被另一个进程(vshost 进程)使用。
知道是什么导致了这种情况发生以及如何阻止它发生吗?
c# - 取消选中 Enable the Visual Studio hosting process in VS2015 后 vshost.exe 仍在运行
我在使用独立测试运行程序运行我的测试用例时遇到了 vshost.exe 问题。完成以下操作后 vshost.exe 仍在运行:
- 清除项目的 bin/Debug 文件夹。
- 取消选中“启用 Visual Studio 托管进程”。
- 重新启动 Visual Studio。
- 构建项目。
- 运行测试运行器。
我还有什么想杀死 vshost.exe 的。非常感谢您的回复。
vb.net - 应用程序正确运行所需的 Visual Studio 主机进程
我被要求将程序从 WinXP 机器移动到 Win Server 2008 R2,以便可以停用 XP 机器。该程序本身非常简单:它是一个使用 VB Express 2010 构建的 Windows 窗体应用程序。窗体本身实际上仅作为单个 ActiveX 控件的容器存在。加载表单后,使用 ActiveX 控件从热像仪捕获图像,然后退出程序。
只要我检查了“启用 Visual Studio 托管进程”以进行调试并在 Visual Studio Express 调试器中运行,这一切都可以正常工作。一旦我尝试从 Visual Studio 外部运行该应用程序,或者甚至在没有运行 vshost 进程的情况下调试该应用程序,它就无法连接到相机并且没有捕获图像。
在这一点上,我正在寻找阻力最小的路径。如果我能以某种方式强制 vshost 进程与调试器之外的应用程序一起运行,那很好。如果有一个操作系统设置,我可以更改以模仿主机进程正在执行的操作,或者我可以将一些代码添加到项目本身,这也很酷。
有人遇到类似的事情或有任何想法吗?
谢谢。
c# - 如何强制 vshost.exe 抑制模块加载时的 JIT 优化
要逐步浏览 .Net 参考源代码,您必须:
- 禁用 NGEN(使用 COMPLUS_ZapDisable=1 环境启动 VS)
- 禁用 JIT 优化(“抑制 JIT 优化”调试器设置并禁用 vshost.exe)
- 启用源服务器支持
困扰我的是,由于这些缺点,我必须禁用 vshost.exe 。vshost.exe 预加载了几个程序集,忽略了“抑制 JIT 优化”调试器设置。然后优化这些程序集,导致进入它们不是一件容易的事。
有谁知道我如何在预加载程序集时强制 vshost.exe 禁用这些优化?
非常感谢!
.net - Visual Studio 构建和托管过程
我正在开发一个应用程序,该应用程序利用 WCF 服务模型概念通过远程服务器上的 IIS 处理来自 WPF 客户端的数据库调用。为了保证我可以在不破坏生产应用程序的情况下修改和测试服务层,我部署了第二个“调试”服务层,并希望通过在“调试”和“发布”。为此,我保留了两个单独的 App.config 文件,并根据所选的构建配置运行构建后事件:
这可行,我检查输出目录,它们具有适当的连接字符串和参数来访问所需的服务。但是,当我在 Visual Studio 中点击“开始”按钮时,它会用我的项目中的 App.config 文件覆盖这两个配置文件......如果我删除或重命名 App.config,那么我的构建后事件将失败。
我注意到的下一件事是禁用 Visual Studio 托管进程 (vshost.exe) 解决了覆盖问题,除了在 VS 中调试变得非常缓慢......这似乎源于每次重新加载组件和调试符号。我认为仅此一项就足以保持启用 vshost 进程,并结合使用它提供的任何其他好处。
为什么即使解决方案已构建并且是最新的,vshost 仍会覆盖我的配置文件?我能做些什么来阻止 vshost 或 Visual Studio 这样做吗?我可以利用其他策略来实现相同的功能吗?后备方案是记住在测试或部署时复制和粘贴适当的配置文件,但这是构建过程中的又一步,对于任何刚接触应用程序的人来说都是麻烦和困惑的。