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 restore
和dotnet 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 2017 社区版