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


396

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

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


您可以使用命令行启动应用程序并查看出现什么错误吗?dotnet run(首先dotnet restoredotnet build然后您可以跑步)
乔尔·哈克斯

3
@JoelHarkes关闭并重新打开Visual Studio 2017之后,它现在可以工作了。不知道是什么原因导致了问题,但没有解决。
Radenko Zec'3

也许它以为它仍在准备应用程序。或者其他的东西。
乔尔·哈克斯

1
我尝试关闭/重新打开,但没有工作-仍在发生
codeMonkey

似乎特定于Chrome-FF,Opera,Brave,IE都可以启动。
罗伯特·罗伯特(Robert

Answers:


754

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

转到“ 工具”>“选项”>“调试”>“常规”,然后关闭“ 为ASP.NET启用JavaScript调试(Chrome和IE)”的设置

VS2017禁用JS调试

这已经是一个已知问题,并且似乎正在进行调查

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


30
如果禁用此功能,则将不再能够在Visual Studio中调试客户端代码。我已经做了一些解决方法来解决此问题。您可以在我的回答中看到。谢谢
Sibeesh Venu

4
仅供参考,Microsoft已解决了该问题,现在可以在其最新的VS更新中找到此修复程序。developercommunity.visualstudio.com/solutions/93579/view.html
ABVincita

2
你是冠军的冠军!感谢您的快速解决方案。
Lostaunaum

1
刚遇到这个问题,就解决了,谢谢。它还会阻止VS在全新的浏览器窗口中打开调试,并在新选项卡中打开网站,这是我在VS 2015中的首选!
恐惧症

9
顺便说一句,这仍然没有解决。只需为15.4做它
StingyJack

210

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

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

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

更新(2018年12月12日):

我刚刚在Visual Studio 2019预览版中测试了此错误,看来该错误现已修复。

希望这可以帮助。


3
尝试了几次,但确实奏效。希望他们能找到一个永久的解决方案,而不必每次都关闭所有内容
Carlos Casalicchio

我打开了多个Chrome实例。我只关闭了我用来调试的那个。我没有重启VS2017。有效。谢谢!这应该是可以接受的答案,因为我仍然可以在Chrome中进行调试,对吗?
Soenhay

@Soenhay是的,您不需要重新启动VS2017,这似乎是一个错误,希望VS团队尽快对其进行研究。
Sibeesh Venu

+1-该错误似乎是因为Chrome中旧的调试浏览器仍在运行。关闭即可解决问题。
StuartLC '17

这曾经为我工作。停了 然后关闭VS并重新启动即可。停了 然后重启即可。停了 @ABVincitas的答案现在有效。希望那也不会失败!
HankCa

33

在VS 2017最新更新(2017年3月14日发布:内部版本26228.09)之后,我遇到了相同的问题。我的程序可以在IE中很好地调试,但会在Chrome中轰炸。在Windows命令行中杀死Chrome的所有实例对我来说解决了这个问题。

taskkill /im chrome.exe /f

然后,我能够在Chrome中进行调试。


这也为我工作。不知道为什么它一开始就停止工作。
Yelnic

这是唯一为我工作的解决方案。我正在运行VS Studio社区版
15.4.2-

完善!一个简单易用的命令,它在其他高评价的注释没有的地方提供了帮助。
Daniel Vartdal

1
对我来说,这是正确的答案,但它永远不会获得很多投票,因为人们会闭嘴,不会再回来,讽刺的是
Jorge Rodrigues dos Santos,

9

3种选择

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

7

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

在选择Chrome作为浏览器的情况下,点击Debug菜单,然后选择Attach to Process...

在随后的对话框中,Chrome.exe在列表中选择,然后单击的Select按钮Attach to:。勾选Native方框,然后Attach(或双击Chrome.exe): 在此处输入图片说明

这将启动项目,而无需启动浏览器。在Chrome中停止并重新启动,错误消失了。

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


5

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



3

对我来说,问题是在调试Chrome窗口中登录了我的Google帐户。在我登录之前,这一直对我来说很好。 一旦退出该Chrome浏览器实例,然后选择通过复选框删除所有设置,调试器就可以再次正常工作。

我的非调试Chrome实例仍已登录Google且未受影响。主要问题是我可爱的插件已脱离调试版本,但至少我可以再次浏览客户端代码。


2

我尝试了Sibeesh Venu的答案,但这对我没有用。我相信,如果我取消了所有镀铬工艺,那将奏效。我完成了其他一些测试,结果发现在Chrome设置中关闭“从上次停止的地方继续”,这对我来说再也不会发生。


2

我最近有这个错误。对我来说固定的是关闭正在运行检查器的Chrome窗口。每当我检查网页时,它都会弹出自己的窗口。无需禁用或更改Visual Studio上的任何内容。



2

对我而言,解决此问题的方法是在任务栏中查找打开的Chrome应用,右键单击并关闭它们。 在此处输入图片说明


1

在我的情况下,其他答案无效。我必须重新启动Windows,然后才能再次调试该应用程序。


1

我使用chrome在开发者控制台中构建的工具来调试javascript,因此标记为答案的解决方案非常适合我。
这是我在尝试调试asp.net应用程序时从VS Community 2017获得的奇怪错误消息:

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


1

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


1

当我尝试同时调试两个解决方案时(我想直观地比较差异),此错误消息对我出现。取消选中“为ASP.NET启用JavaScript调试(Chrome和IE)”选项是可行的,但是我仍然感到困惑,为什么我一次不能调试多个解决方案。由于这是一个已知问题,因此可能会在Visual Studio的更新中解决。这是希望....


0

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

  1. 调试程序
  2. 让Chrome打开并VS引发错误
  3. 通过单击“确定”清除VS错误
  4. 点击Chrome右上角的三个点
  5. 将鼠标悬停在“更多工具”上,然后点击扩展
  6. 找到Calendly磁贴,然后将右下角的滑块打勾到关闭位置
  7. 关闭任务栏中所有可继续运行的Chrome窗口,包括所有Chrome窗口
  8. 停止调试
  9. 在调试模式下再次运行程序

0

启用JavaScript调试的解决方案

在Chrome浏览器中,转到:设置>高级>系统, 然后禁用 “关闭Google Chrome时继续运行后台应用程序”。

重要!必须为正确的Chrome用户个人资料设置以上选项!
Visual Studio有自己的Chrome用户配置文件,使用“常规” Chrome浏览器时设置的首选项不会对从VS(启用JS调试)启动的Chrome浏览器产生任何影响。

  1. 与运行从VS项目“启用JavaScript调试......” 启用。Chrome浏览器将打开,您将在VS中看到错误。
  2. 返回VS启动的同一个Chrome实例, 禁用 “如上所述,在关闭Google Chrome时继续运行后台应用”。
    如果您未启用/检查“启用JavaScript调试...”,则Chrome实例将使用您的默认用户个人资料,该错误将持续存在。
  3. 停止重新运行您的项目,Chrome应该按预期加载项目,且没有任何错误并启用JS调试。

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

要确保Chrome使用的是正确的用户个人资料,请在网址栏中输入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] OR Default"

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


0

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

将以下代码保存到您的Web配置文件中,然后重命名 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>

-1

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.