无法使用IIS 10.0中的命令行vsiiseluncher.exe启动进程

无法使用IIS 10.0中的命令行vsiiseluncher.exe启动进程,iis,asp.net-core,asp.net-core-2.1,iis-10,asp.net-core-2.2,Iis,Asp.net Core,Asp.net Core 2.1,Iis 10,Asp.net Core 2.2,周四晚上,我正在做一个ASP.NET Core 2.1内置的项目(为ASP.NET Core 2.2做准备),该项目运行在我本地的IIS 10.0(不是IIS Express)上,并且能够毫无问题地运行它。星期五早上,在进入办公室后,每次尝试在Visual Studio中运行解决方案时,我都会遇到以下错误: 无法启动进程C:\Program Files(x86)\dotnet\dotnet.exe。web服务器请求失败,状态代码502,网关错误。完整响应已写入[文件名].html。 当我打开

周四晚上,我正在做一个ASP.NET Core 2.1内置的项目(为ASP.NET Core 2.2做准备),该项目运行在我本地的IIS 10.0(不是IIS Express)上,并且能够毫无问题地运行它。星期五早上,在进入办公室后,每次尝试在Visual Studio中运行解决方案时,我都会遇到以下错误:

  • 无法启动进程C:\Program Files(x86)\dotnet\dotnet.exe。web服务器请求失败,状态代码502,网关错误。完整响应已写入[文件名].html。
当我打开[file_name].html时,会得到以下响应:

  • HTTP错误502.5-ANCM进程外启动失败
当我打开事件查看器时,会得到以下响应:

  • 具有物理根“[Path]”的应用程序“MACHINE/WEBROOT/APPHOST/DEFAULT WEB SITE/[Path]”无法使用命令行“[Path]\bin\IISSupport\vsiiseluncher.exe-argFile iiseluncherargs.txt”启动进程,错误代码=“0x800700c1”:0。

我有:

  • 通过Windows关闭和打开IIS功能,确保检查了正确的Internet信息服务功能
  • 创建了一个应用程序池,其中[.NET CLR version]设置为“无托管代码”,而[Managed pipeline mode]设置为“集成”
  • 卸载并重新安装:IIS Url重写为IIS
  • 已卸载并重新安装:Microsoft.NET核心SDK-2.1.504(x64)
  • 已卸载并重新安装:Microsoft.NET核心SDK-2.1.504(x84)
  • 已卸载并重新安装:Microsoft.NET核心SDK-2.2.104(x64)
  • 已卸载并重新安装:Microsoft.NET核心SDK-2.2.104(x84)
  • 已卸载并重新安装:Microsoft.NET核心运行时-2.1.8(x64)
  • 已卸载并重新安装:Microsoft.NET核心运行时-2.1.8(x86)
  • 已卸载并重新安装:Microsoft.NET核心运行时-2.2.2(x64)
  • 已卸载并重新安装:Microsoft.NET核心运行时-2.2.2(x86)
  • 已卸载并重新安装:Microsoft.NET Core 2.1.8-Windows服务器主机
  • 已卸载并重新安装:Microsoft.NET Core 2.2.2-Windows服务器主机
  • 重新安装后重新启动我的计算机


我还可以尝试什么,因为我的其他项目都没有工作。

我通过重新安装Visual studio解决了这个问题。我仍然不确定这是否是解决这个问题的最佳方法

我也尝试过这个问题中提到的所有方法,但都没有解决问题。

我找到了解决方案

在我团队项目的根文件夹中,有一个名为“the”的空“file”文件。为了方便起见,我们的项目被称为“项目”,两个词之间有一个空格。我删除了这个文件,一切都很好


我的猜测是,从Teams服务器获取最新文件时,一定生成了一个半格式的文件,并干扰了项目的构建。

在我的情况下,问题出在launchSettings.json中

首先,在单击“运行”按钮时,确保正在运行的配置文件。 我的案子是“IIS Express”

然后打开文件,转到=>Profiles,确保命令名在iisexpress概要文件中。 我的情况是

并检查上述部分中的设置。 我的案例使用IIS作为命令,所以我检查IIS=>applictionUrl和sslPort。 问题是,应用程序url使用不同的域名。 它与启动URL不同。一旦我使用LaunchURL域在我的本地dev box上重新发布了该网站,它就可以正常工作了。顺便说一句,我们使用主机文件来伪造那些域名


如果您有其他团队成员在同一项目上工作,请确保您都使用相同的dev网站设置。或者开发人员可以在本地编辑它,如果它不能在其他开发人员的机器上工作,则不要签入设置。

在我的情况下,此问题发生在我手动清除bin文件夹时(该文件夹删除了IISSupport文件夹中的必要文件)并尝试加载在IIS中设置为my localhost下的应用程序


要解决所有问题,我需要做的就是通过VisualStudio运行应用程序,它将必要的IISSupport文件夹和文件添加到bin中

在我的例子中,我的项目是在IIS中设置为网站的,项目目录中缺少文件“bin\IISSupport\vsiiseluncher.exe”

在VisualStudio2019中调试项目时,我只是选择了“IIS”,它生成了丢失的文件。它还在IISSupport文件夹中生成了2个文本文件(iiseElauncherargs.txt,pidfile.txt),对我的web.config文件进行了更改,我的项目成功运行


此后,我可以访问在IIS中设置的本地网站,而无需在Visual Studio中运行该网站。

我也遇到了同样的问题,并且在某种程度上遵循了您所遵循的相同步骤。如果我弄明白了,我会告诉你的!我找到了答案-我成功地从我的启动中删除了
host.Run()
:(-注意到stdout日志是空的,这意味着主机不可能一直在运行做任何事情的东西…有解决此问题的方法吗?