Visual Studio 2017 错误:无法启动程序,当前状态下的操作不合法

Posted

技术标签:

【中文标题】Visual Studio 2017 错误:无法启动程序,当前状态下的操作不合法【英文标题】:Visual Studio 2017 error: Unable to start program, An operation is not legal in the current state 【发布时间】:2017-07-30 06:26:55 【问题描述】:

在全新安装 Visual Studio 2017 后,我尝试运行 .NET Core Web 项目,但尝试在 Chrome 上运行它时出现此错误:

无法启动程序,当前操作不合法 状态

【问题讨论】:

您可以使用命令行启动应用程序并查看您遇到的错误吗? dotnet run(先dotnet restoredotnet build再跑) @JoelHarkes 在我关闭并重新打开 Visual Studio 2017 后,它现在可以工作了。不知道是什么原因造成的,但没有解决。 也许它认为它仍在准备应用程序。什么的。 我尝试关闭/重新打开,但没有奏效——仍在发生 似乎特定于 Chrome - FF、Opera、Brave、IE 都可以正常启动。 【参考方案1】:

对我来说,解决方案(解决方法)是关闭 Chrome 上的 javascript 调试,我认为这是 VS 2017 中引入的新功能。

转到工具>选项>调试>常规并关闭为 ASP.NET(Chrome 和 IE)启用 JavaScript 调试设置。

这是一个已知问题,seems to have an investigation underway。

这里有关于 VS 2017 中 JS 调试的完整信息: https://blogs.msdn.microsoft.com/webdev/2016/11/21/client-side-debugging-of-asp-net-projects-in-google-chrome/

【讨论】:

如果禁用此功能,您将无法再在 Visual Studio 中调试客户端代码。我已经做了一些解决方法来解决这个问题。你可以在我的回答中看到这一点。谢谢 仅供参考,Microsoft 已修复此问题,并且该修复程序现已在其最新的 VS 更新中提供。 developercommunity.visualstudio.com/solutions/93579/view.html 你是冠军中的冠军!感谢您的快速解决方案。 刚刚遇到这个问题,这解决了,谢谢。它还阻止 VS 在全新的浏览器窗口中打开调试,并在新选项卡中打开站点,这是我在 VS 2015 中更喜欢的! 顺便说一句,这仍然没有修复。只需要在 15.4 内完成【参考方案2】:

今天我遇到了这个错误,我只是做了一个太简单的小变通方法。

    关闭您可能在打开 Visual Studio 之前打开的所有 chrome 实例。 现在停止调试并再次运行您的应用程序。

您不会再次收到错误,如果调试器没有命中,请再次刷新浏览器。

更新(2018 年 12 月 12 日):

我刚刚在 Visual Studio 2019 预览版中测试了这个 bug,现在看来这个 bug 已经修复了。

希望这会有所帮助。

【讨论】:

尝试了几次,但确实奏效了。希望他们能找到一个永久的解决方案,而不是每次都关闭所有东西 我打开了多个 Chrome 实例。我只关闭了我用来调试的那个。我没有重新启动VS2017。有效。谢谢!这应该是公认的答案,因为我仍然可以在 Chrome 中调试吗? @Soenhay 可以,不用重启VS2017,好像是个bug,希望VS团队尽快看看。 +1 - 如果 Chrome 中的旧已调试浏览器仍在运行,则该错误似乎是。关闭即可解决问题。 这曾经对我有用。那停止了。然后关闭VS并重新启动就可以了。那停止了。然后重新启动就可以了。那停止了。 @ABVincitas 答案现在有效。希望这也不会失败!【参考方案3】:

在最近的 VS 2017 更新(2017 年 3 月 14 日发布:内部版本 26228.09)后,我遇到了同样的问题。我的程序可以在 IE 中正常调试,但在 Chrome 中会崩溃。在 Windows 命令行中杀死所有 Chrome 实例为我解决了这个问题。

taskkill /im chrome.exe /f

然后我就可以在 Chrome 中进行调试了。

【讨论】:

这对我也有用。不知道为什么它首先停止工作。 这是唯一对我有用的解决方案。我正在运行 VS Studio 社区版版本 15.4.2 - 谢谢 完美!一个易于使用的命令,它在其他高度评价的 cmets 没有的地方有所帮助。 对我来说这是正确的答案,但它永远不会得到很多赞成票,因为人们关闭了 chrome 并且不回来了,讽刺【参考方案4】:

3 个选项

    在工具 > 选项 > 调试 > 常规中关闭 JavaScript 调试功能 杀死所有 chrome 任务 切换到其他浏览器进行调试

【讨论】:

【参考方案5】:

我找到了一个对我有用的解决方法。

选择 Chrome 作为您的浏览器,点击Debug 菜单并选择Attach to Process...

在随后的对话框中,选择列表中的Chrome.exe,然后单击Attach to: 对应的Select 按钮。勾选Native 框,然后勾选Attach(或直接双击Chrome.exe):

这会在不启动浏览器的情况下启动项目运行。在 Chrome 中停止并重新启动,错误就消失了。

当然,另一个可能的解决方案是使用不同的浏览器,但我喜欢在 Chrome 中进行调试。 :-)

【讨论】:

【参考方案6】:

我认为当在 Visual Studio 中启用 javascript 调试并同时启用 chrome 开发人员工具调试器时会发生这种情况。问题的出现是因为两个不同的调试器试图调试同一个进程。

【讨论】:

【参考方案7】:

我刚刚关闭了所有打开的 chrome 实例,停止了我的项目,然后重新启动它。这为我解决了问题。

【讨论】:

【参考方案8】:

对我来说,问题是在调试 Chrome 窗口中登录我的 Google 帐户。在我登录之前,这对我来说一直运行良好。一旦我退出该 Chrome 实例并选择通过复选框删除我的所有设置,调试器就会再次正常运行。

我的 Chrome 非调试实例仍然登录到 Google 并且不受影响。主要问题是我可爱的插件从调试版本中消失了,但至少我可以再次单步执行客户端代码。

【讨论】:

【参考方案9】:

我尝试了Sibeesh Venu 的答案,但这对我不起作用。我相信如果我杀死了所有的 chrome 进程,它就会起作用。我完成了一些其他测试,发现在 Chrome 设置中关闭“从上次中断的地方继续”可以确保我不会再次发生这种情况。

【讨论】:

【参考方案10】:

我最近遇到了这个错误。为我解决的问题是关闭正在运行检查器的 chrome 窗口。每当我检查网页时,我都会让它弹出自己的窗口。不需要禁用或更改 Visual Studio 上的任何内容。

【讨论】:

【参考方案11】:

更改此项目设置为我解决了问题。

【讨论】:

【参考方案12】:

解决方法是在任务栏中查看打开的 chrome 应用程序,右键单击并关闭它们。

【讨论】:

【参考方案13】:

在我的情况下,其他答案不起作用。我必须重新启动 Windows 才能再次调试应用程序。

【讨论】:

【参考方案14】:

我使用 chrome 内置的开发人员控制台工具来调试 javascript,因此标记为答案的解决方案对我来说非常有用。 这是我在尝试调试 asp.net 应用程序时从 VS Community 2017 收到的奇怪错误消息:

“发生的错误通常表明安装损坏(代码 0x80040154)。如果问题仍然存在,请修复您的 Visual Studio 通过控制面板中的“添加或删除程序”安装。” 现在修好了。

【讨论】:

【参考方案15】:

在 VS2017 中切换浏览器。或者以管理员身份打开命令提示符并执行 tskill chrome 大约 10 次以确保应用程序完全死机。然后再试一次。有时它会卡在另一个进程上,甚至需要重新启动。

【讨论】:

【参考方案16】:

当我尝试同时调试两个解决方案时,出现此错误消息,因为我想直观地比较差异。取消选中 Enable JavaScript Debugging for ASP.NET (Chrome and IE) 选项有效,但我仍然很困惑为什么我不能一次调试多个解决方案。由于这是一个已知问题,也许这将在 Visual Studio 的更新中得到解决。这是希望....

【讨论】:

【参考方案17】:

通过关闭我最近安装的 Calendly Chrome 扩展程序,我能够在 Chrome 中解决这个问题。可能不是 Calendly 特定的,所以我建议关闭所有新安装的 Chrome 扩展。以下是我采取的步骤:

    调试程序 让 Chrome 打开和 VS 抛出错误 单击“确定”清除 VS 错误 点击Chrome右上角的三个点 将鼠标悬停在“更多工具”上,然后点击扩展 找到日历图块并勾选右下角的滑块以 关闭位置 关闭所有 Chrome 窗口,包括任务中的所有 Chrome 窗口 继续运行的栏 停止调试 在调试模式下再次运行程序

【讨论】:

【参考方案18】:

启用 JavaScript 调试的解决方案

从 Chrome 浏览器转到:设置>高级>系统disable“在 Google Chrome 关闭时继续运行后台应用程序”。 重要!必须为正确的 Chrome 用户配置文件设置上述选项! Visual Studio 有自己的 Chrome 用户配置文件,您在使用“普通”Chrome 浏览器时设置的首选项不会对从 VS 启动的 Chrome 浏览器产生任何影响(启用 JS 调试)。

    使用“启用 JavaScript 调试...”从 VS 运行您的项目 启用。 Chrome 浏览器应该会打开,您会在 VS 中收到错误消息。 回到 VS 启动的同一个 Chrome 实例并禁用“在 Google Chrome 关闭时继续运行后台应用程序”,如上所述。如果您没有“启用 JavaScript 调试...”已启用/选中,Chrome 实例将使用您的默认用户配置文件,并且错误将持续存在。 停止重新运行您的项目,Chrome 应按预期加载项目,没有任何错误并启用 JS 调试。

每当你停止调试时,你必须关闭由VS启动的Chrome实例,否则下次运行项目时会返回错误。如果还有其他 Chrome 实例,您可以让它们保持打开状态。

要确保 Chrome 使用正确的用户配置文件,请在 url 栏中键入 chrome://version/,然后查看个人资料路径。在 Windows 上,正确的值应如下所示: "C:\Users\[UserName]\AppData\Local\Microsoft\VisualStudio\15.*\WebTools\ChromeUserData_*\Default"

如果 Chrome 使用的是默认浏览器,或者如果您使用帐户登录 Chrome,它将如下所示: "C:\Users\[UserName]\AppData\Local\Google\Chrome\User Data\[ProfileName] <i>OR</i> Default"

奖金说明。如果您在调试时使用 Chrome 扩展程序,则必须在 VS 配置文件处于活动状态时安装这些扩展程序。

【讨论】:

【参考方案19】:

如果您无法以任何其他方式解决问题,请尝试此操作(它对我有用!):

将以下代码保存到您的网络配置文件中,然后重命名value="yourwebformname.aspx"

<system.webServer>
    <defaultDocument>
       <files>
          <add value="insertion.aspx" />
       </files>
    </defaultDocument>
    <directoryBrowse enabled="false" />
</system.webServer>

其他试试

<system.webServer>
    <directoryBrowse enabled="true" />
</system.webServer>

【讨论】:

【参考方案20】:

当我收到此错误时,您可以尝试的另一个对我有用的解决方案是清理解决方案,然后进行重建。由于其他解决方案对我没有帮助,我认为这可能会帮助同一条船上的其他人。

【讨论】:

以上是关于Visual Studio 2017 错误:无法启动程序,当前状态下的操作不合法的主要内容,如果未能解决你的问题,请参考以下文章

使用Visual Studio 2015,2017,CMake 3.10完全无法正常工作

无法更新 Visual Studio 安装程序

突然关机后无法安装 Visual Studio 2017 社区版

Visual Studio 2017 - 无法安装 WDK 扩展

使用Visual Studio 2017加密++库链接错误

无法从 Visual Studio 2017 调试和发布 Azure 函数