无法启动 dotnet.exe 进程

75

我正在尝试设置一个新的工作空间,并将我的所有项目从旧计算机转移到新计算机。但是,当我尝试运行IIS Express时,出现了以下错误:

无法启动进程C:\Program Files\dotnet\dotnet.exe。Web服务器请求失败,状态代码为500。

我使用的是Visual Studio 2015更新3和.NET Core RC2。有人知道如何解决这个问题并在这台新机器上运行我的旧项目吗?


看起来你正在尝试在IIS Express下运行一个可执行文件。我认为你的项目文件有点混乱。 - oɔɯǝɹ
从RC2升级到RTM的http://dot.net。 - Lex Li
5
我曾经遇到过这个问题,当我试图重命名我的命名空间时 - 只需打开 launchsettings.json 文件并将端口号更改为其他内容,然后执行 dotnet build 或从 VS 构建并尝试使用 IIS Express 启动。 - Jaya
我能够解决这个问题。在web.config中将 modules="AspNetCoreModule" 更改为 modules="AspNetCoreModuleV2" 。我的项目环境是dotnet core 2.1和vs2017。文档表示,对于dotnet core v2.1,它需要是 modules="AspNetCoreModule",而对于dotnet core 2.2或更高版本,它需要是 modules="AspNetCoreModuleV2" 。完整的行在这里 <handlers> <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" /> </handlers> - Ram Chandra Neupane
1
我的问题也和module="AspNetCoreModuleV2"有关。在我的情况下,另一位开发者不知情地推送了web.config文件,因为他的新版本VS方便地为他更改了它。我选择更新我的VS到15.9.13版本来解决这个问题,而不是让我自己改回来。 - James R.
如果您在x86(32位)上运行应用程序,请确保已安装DotNetCore 32位。https://dotnet.microsoft.com/download/dotnet-core/ 同样适用于64位。 - Pierre
32个回答

111

我遇到了同样的问题。 我在那个目录中查找dotnet.exe,它存在,但调试器无法执行它。因此,我以管理员身份重新启动了Visual Studio 2015,并且它可以工作了!


63
重新启动 VS 就能解决如此多的问题,这真让我感到惊奇。 - Jean Lourenço
@JeanLourenço,令我惊讶的是我们经常不得不这样做,我喜欢Visual Studio,但似乎“强大的力量伴随着巨大的责任”,希望VS15能够通过不需要完整的庞然大物IDE来协助解决这个问题。 - dynamiclynk
不确定这是如何可能的。关闭并重新打开VS,它就开始工作了。有关这是如何发生的任何解释吗? - Devanathan.S
以管理员身份运行可能会在后续阶段引起许多其他问题(文件存储在错误的位置,最终应用程序无法作为管理员运行等...) - Martin Meeser
1
这件事发生在2018年9月。微软,这样做还不够好——先停止添加功能,先修复漏洞! - niico
显示剩余3条评论

36

只需要关闭而不是删除项目文件夹中的 project.lock.json 文件,重新打开 Visual Studio 后该文件将被还原,这样你就不应该再遇到问题了。


3
谢谢您。这对我也起了作用。原因是将解决方案移动到磁盘上的不同位置引起的。.NET Core 的开发体验继续让我感到愉快。 - John Hargrove

22
在我的情况下问题是:
1. 我将我的项目(控制台/网站)从 .net 4.5 框架升级(移植)到donetcoreapp 2.0 2. .NET Framework 4.5 项目中有 Web.Config
3. dotnetcore 2.0 没有维护 web.config 的概念。
4. 因此,每当我运行该项目时,我都会遇到相同的错误。 解决方案: 只需删除 'Web.Config' 即可使其正常工作。

1
我只是从我的.Web项目中删除了Web.Config文件,之后一切都运行良好。我使用的是VS 2017。感谢解决方案 :) - GoldenAge
哇!删除web.config就像魔法一样顺利 - 谢谢。 - AT-2017
太蠢了。如果我们能得到一个错误提示,例如“.NET Core不使用web.config文件。删除它!”,就好了!> <感谢这个解决方案。 - KidBilly

13

在我的情况下。在运行/调试时,我选择了“ProjectName”而不是“IIS Express”。并且它可以使用控制台输出窗口和所选的浏览器打开,并在调试时保持控制台输出窗口处于打开状态。希望这个方法能够奏效。


12

Visual Studio 2017 -> 对我而言的解决方法是在调试/运行时选择项目名称而不是IISExpress。


8
  1. 关闭VS 2015(看起来这个问题在VS 2017中已解决)。
  2. 删除\bin和\obj中的所有文件。删除project.lock.json文件。
  3. 运行VS。
  4. 重新构建。

如果上述解决方案在VS2017 .Net Core中不起作用,请以管理员身份运行VS2017。 如果您的计算机没有管理员访问权限,您可以将“launchSettings.json”更改为以下内容,以在端口8080上工作,然后按照上述4个步骤操作。

"applicationUrl": "http://localhost:8080/",


2
关于“看起来问题在VS 2017中已经解决”<- 不是的。至少对于VS 2017 15.5.2还没有解决。这就是我找到这个问题的原因。 - dance2die

5
这是对我有效的解决方法:

我遇到了同样的问题,原来是我没有正确的运行时版本(1.1.0);相反,我试图使用1.0.1运行时的1.1.0程序集。

解决方法很简单-从这里下载并安装SDK,但要选择正确的版本!原来,如果您想要1.1.0版本,应选择“当前”选项(按钮)。

基本上,问题是由所引用页面上愚蠢的界面引起的-如果您不注意,您将下载v1.0.1,因为它是“LTS”版本,并且“LTS”选项在那里是默认的。说什么呢... .NET团队在这个疯狂版本、疯狂名称和疯狂平台的时代又让人失望了...

引用来自peske:https://github.com/aspnet/Home/issues/1719


1
自从我来到新公司并尝试连接进程时,出现了一些问题。如果您在包管理器控制台中键入“dotnet --version”并将其与其他没有此问题的人进行比较,那么可能会指向sdk版本存在问题。 - DeadlyChambers

4

我在更新Microsoft Visual Studio 2017专业版后遇到了这个问题,目前我找到了三个潜在的解决方案:

  • 重启Visual Studio有时可以解决问题,

  • 删除%USERPROFILE%.nuget可能会解决问题,

  • 卸载,然后重新安装dotnet SDK。


删除 %USERPROFILE%.nuget 可能解决该问题。 - Dzmitriy Salodki

4
在我的情况下,解决方案是从项目根目录中删除web.config文件。我正在处理一个ASPnetcore项目,一周后错误开始出现。我不确定如何添加web.config文件,但一旦我删除它们,错误就得到了解决。

4
在您的启动项目中确保已选择“启用匿名身份验证”选项。 enter image description here

我遇到了未经授权的问题,但现在已经解决了。 - irfandar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接