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

时间:2017-03-09 10:12:19

标签: asp.net asp.net-core visual-studio-2017

在完全安装Visual Studio 2017后,我尝试运行.NET Core Web项目,当我尝试在Chrome上运行它时,我收到此错误:

  

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

20 个答案:

答案 0 :(得分:739)

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

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

VS2017 Disable JS Debugging

这已经是一个已知问题,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/

答案 1 :(得分:207)

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

  1. 关闭所有可能在打开Visual Studio之前打开的chrome实例。
  2. 现在停止调试并再次运行您的应用程序。
  3. 您不会再次收到错误,如果调试器未命中,请再次刷新浏览器。

      

    更新(2018年12月12日):

    我刚刚在Visual Studio 2019预览中测试了这个错误,现在好像修复了这个错误。

    希望这有帮助。

答案 2 :(得分:29)

在最近的VS 2017更新(2017年3月14日发布:build 26228.09)之后,我遇到了同样的问题。我的程序将在IE中调试正常,但会在Chrome中爆炸。在Windows命令行中杀死所有Chrome实例可以解决我的问题。

taskkill /im chrome.exe /f

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

答案 3 :(得分:8)

3个选项

  1. 关闭工具>中的JavaScript调试功能选项>调试>一般
  2. 杀死所有Chrome任务
  3. 切换到另一个浏览器进行调试

答案 4 :(得分:7)

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

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

在随后的对话框中,选择列表中的Chrome.exe,然后点击Select的{​​{1}}按钮。勾选Attach to:框,然后Native(或只需双击Attach): enter image description here

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

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

答案 5 :(得分:4)

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

答案 6 :(得分:2)

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

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

答案 7 :(得分:2)

对我来说,修复它的方法是在任务栏中查看打开的Chrome应用程序,右键单击并关闭它们。 enter image description here

答案 8 :(得分:2)

我刚刚遇到这个错误。为我修复的是关闭一个运行检查器的镀铬窗口。每当我检查一个网页时,我都会弹出自己的窗口。不需要在visual studio上禁用或更改任何内容。

答案 9 :(得分:2)

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

答案 10 :(得分:2)

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

答案 11 :(得分:1)

我案中的其他答案都不起作用。在重新调试应用程序之前,我必须重新启动Windows。

答案 12 :(得分:1)

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

  

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

答案 13 :(得分:1)

更改此项目设置可以解决我的问题。

enter image description here

答案 14 :(得分:1)

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

答案 15 :(得分:1)

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

答案 16 :(得分:0)

启用JavaScript调试的解决方案

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

重要!必须为正确的Chrome用户个人资料设置上述选项!
Visual Studio有自己的Chrome用户个人资料,使用“普通”Chrome浏览器时设置的偏好设置不会对从VS启动的Chrome浏览器产生影响(启用了JS调试)。

  1. 使用“启用JavaScript调试...”从VS运行项目 的启用即可。 Chrome浏览器应该会打开,您将在VS中收到错误消息。
  2. 返回与VS启动的Chrome相同的实例,禁用“Google Chrome关闭后继续运行后台应用”,如上所述。
    如果您没有启用/选中“启用JavaScript调试...”,Chrome实例将使用您的默认用户个人资料,错误将会持续存在。
  3. 停止重新运行您的项目,Chrome应按预期加载项目,不会出现任何错误并启用JS调试。
  4. 每当您停止调试时,必须关闭由VS发起的Chrome实例,否则下次运行项目时将返回错误。如果还有其他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配置文件处于活动状态时安装这些扩展程序。

答案 17 :(得分:0)

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

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

答案 18 :(得分: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>

答案 19 :(得分:-1)

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