Visual Studio 2017 error: Unable to start program, An operation is not legal in the current state
在全新安装了Visual Studio 2017之后,我尝试运行.NET核心Web项目,当尝试在Chrome上运行它时,我收到以下错误:
0对于我来说,解决方案(解决方法)是关闭Chrome上的javascript调试,我认为这是在Vs2017中引入的一个新功能。
转到"工具>选项>调试>常规",然后关闭为ASP.NET(Chrome和IE)启用JavaScript调试的设置。
这已经是一个已知的问题,而且似乎正在进行调查。
有关VS 2017中JS调试的完整信息,请访问:https://blogs.msdn.microsoft.com/webdev/2016/11/21/client-side-debugging-of-asp-net-projects-in-google-chrome/
今天我犯了这个错误,我只是做了一个很简单的小解决方案。
您将不会再次得到错误,如果没有命中调试器,请再次刷新浏览器。
0我刚在Visual Studio 2019预览版中测试了这个bug,现在似乎已经修复了。
希望这有帮助。
在最新的vs 2017更新之后,我也遇到了同样的问题(2017年3月14日发布:build 26228.09)。我的程序在IE中可以正常调试,但在Chrome中会爆炸。在Windows命令行中删除所有chrome实例为我解决了这个问题。
1 | taskkill /im chrome.exe /f |
然后我就可以在chrome中调试了。
3种选择
我找到了一个适合我的解决办法。
选择chrome作为浏览器,单击
在随后的对话框中,在列表中选择
这将在不启动浏览器的情况下启动项目。在chrome中停止并重新启动,错误就消失了。
当然,另一个可能的解决方案是使用不同的浏览器,但我喜欢在chrome中进行调试。-)
我认为当在Visual Studio中启用javascript调试,同时启用chrome开发人员工具调试器时,就会发生这种情况。出现问题的原因是两个不同的调试程序试图调试同一个进程。
对于我来说,问题是在DebugChrome窗口上登录到我的Google帐户。在我登录之前,这对我来说一直很有效。一旦我注销了那个chrome实例并选择通过复选框删除我的所有设置,调试器就会再次正常工作。
我的Chrome非调试实例仍然登录到Google,未受影响。主要的问题是,我可爱的插件已经从调试版本中消失了,但至少我可以再次单步执行客户机代码。
我刚刚关闭了所有打开的chrome实例,停止了我的项目,然后再次启动它。这帮我解决了问题。
我最近犯了这个错误。对我来说,修复它的方法是关闭一个运行巡查员的铬合金窗口。每当我检查网页时,它就会弹出自己的窗口。不需要禁用或更改Visual Studio上的任何内容。
修复这个问题的方法是在任务栏中查找打开的Chrome应用程序,右键单击并关闭它们。
我试过了西比什维努的回答,但这对我不起作用。我相信如果我杀死了所有的铬工艺,它会起作用的。我完成了一些其他的测试,发现在chrome设置中关闭"继续您停止的地方"可以确保不再发生这种情况。
我使用Chrome的内置开发人员控制台工具来调试JavaScript,所以答案标记的解决方案非常适合我。这是我在尝试调试ASP.NET应用程序时从vs community 2017收到的奇怪错误消息:
"An error occurred that usually indicates a corrupt installation (code
0x80040154). If the problem persists, repair your Visual Studio
installation via 'Add or Remove Programs' in Control Panel." and it's
fixed now.
在我的案例中,其他的答案不起作用。我必须重新启动Windows才能再次调试应用程序。
更改此项目设置可为我解决此问题。
在VS2017中切换浏览器。或者以管理员的身份打开一个命令提示符,执行tskill chrome大约10次,以确保应用程序完全死机。然后再试一次。有时,它会卡在另一个进程上,甚至需要重新启动。
当我试图同时调试两个解决方案时,出现了这个错误消息,因为我想直观地比较这些差异。取消选中"为ASP.NET(Chrome和IE)启用JavaScript调试"选项有效,但我仍然困惑为什么一次不能调试多个解决方案。因为这是一个已知的问题,所以这可能会在Visual Studio的更新中得到解决。希望……。
如果你不能以任何其他方式解决这个问题,那么试试这个(它对我有效!):
将下面的代码保存到Web配置文件中,然后重命名
1 2 3 4 5 6 7 8 | <system.webServer> <defaultDocument> <files> </files> </defaultDocument> <directoryBrowse enabled="false" /> </system.webServer> |
其他尝试:
1 2 3 | <system.webServer> <directoryBrowse enabled="true" /> </system.webServer> |
启用了JavaScript调试的解决方案
从Chrome浏览器转到:设置>高级>系统并禁用"关闭Google Chrome后继续运行后台应用程序"。重要!必须为正确的Chrome用户配置文件设置上述选项!Visual Studio有自己的Chrome用户配置文件,使用"普通"Chrome浏览器时设置的首选项不会对从VS启动的Chrome浏览器产生任何影响(启用JS调试)。
每当停止调试时,必须关闭由VS启动的chrome实例,否则下次运行项目时将返回错误。如果还有其他的chrome实例,您可以将其保持打开状态。
要确保chrome使用正确的用户配置文件,请在URL栏中键入chrome://version/,然后查看配置文件路径的值。在Windows上,正确的值应该如下所示:
如果Chrome使用浏览器默认值,或者您使用帐户登录到Chrome,则会出现如下情况:
奖金记录。如果在调试时使用chrome扩展,则必须在vs配置文件处于活动状态时安装这些扩展。
我可以通过关闭最近安装的日历Chrome扩展来在Chrome中解决这个问题。可能不是日历特定的,所以我建议关闭任何新安装的chrome扩展。以下是我采取的步骤:
当我收到此错误时,您可以尝试的另一个解决方案是清除该解决方案,然后重新生成。由于其他的解决办法对我没有帮助,我想这可能对同一艘船上的其他人有所帮助。