无法在 IIS 10.0 中使用命令行 VSIISExeLauncher.exe 启动进程
Failed to Start Process with Commandline VSIISExeLauncher.exe in IIS 10.0
星期四晚上,我在 ASP.NET Core 2.1 中构建的项目(正在为 ASP.NET Core 2.2 做准备)运行ning 在我的本地 IIS 10.0(不是 IIS Express)并且能够运行它没有任何问题。星期五早上,在进入办公室后,每次尝试 运行 我在 Visual Studio 中的解决方案时都会遇到以下错误:
- 无法启动进程 C:\Program Files (x86)\dotnet\dotnet.exe。 Web 服务器请求失败,状态代码为 502,网关错误。完整回复已写入 [file_name].html.
当我打开 [file_name].html 时,得到的响应是:
- HTTP 错误 502.5 - ANCM 进程外启动失败
当我打开事件查看器时,我得到了响应:
- 具有物理根“[Path]”的应用程序 'MACHINE/WEBROOT/APPHOST/DEFAULT WEB SITE/[Path]' 无法使用命令行“[Path]\bin\IISSupport\VSIISExeLauncher.exe -argFile IISExeLauncherArgs.txt”启动进程,错误代码 = '0x800700c1' : 0.
我有:
- 通过 Windows 功能关闭和打开 IIS,确保检查了正确的 Internet 信息服务功能
- 创建了一个应用程序池,其中 [.NET CLR 版本] 设置为 "No Managed Code",[托管管道模式] 设置为 "Integrated"
- 卸载并重新安装:IIS Url重写为 IIS
- 已卸载并重新安装:Microsoft .NET Core SDK - 2.1.504 (x64)
- 已卸载并重新安装:Microsoft .NET Core SDK - 2.1.504 (x84)
- 已卸载并重新安装:Microsoft .NET Core SDK - 2.2.104 (x64)
- 已卸载并重新安装:Microsoft .NET Core SDK - 2.2.104 (x84)
- 已卸载并重新安装:Microsoft .NET Core 运行时 - 2.1.8 (x64)
- 已卸载并重新安装:Microsoft .NET Core 运行时 - 2.1.8 (x86)
- 已卸载并重新安装:Microsoft .NET Core 运行时 - 2.2.2 (x64)
- 已卸载并重新安装:Microsoft .NET Core 运行时 - 2.2.2 (x86)
- 卸载并重新安装:Microsoft .NET Core 2.1.8 - Windows 服务器托管
- 已卸载并重新安装:Microsoft .NET Core 2.2.2 - Windows 服务器托管
- 重新安装后重新启动我的电脑
我还能尝试什么,因为我的 none 个其他项目也在运行。
我通过重新安装 Visual studio 解决了这个问题。我仍然不确定这是否是解决此问题的最佳方法。
我也尝试了这个问题中提到的所有方法,但都没有解决问题。
我找到了解决方案。
在我团队项目的根文件夹中,有一个名为 "The" 的空 "file" 文件。为了事情的缘故,我们的项目被称为"The Project",单词之间有一个space。我删除了这个文件,一切正常。
我的猜测是,从我们的 Teams 服务器获取最新文件一定是生成了一个半成型的文件,并扰乱了我项目的构建。
就我而言,问题出在 launchSettings.json。
首先,在单击 运行 按钮时确保您运行正在使用哪个配置文件。
我的情况是 'IIS Express',
然后打开文件,转到=>配置文件,确保IIS Express 配置文件中的命令名称。
我的情况是 IIS。 more details about command name.
并检查上一节中的 iisSettings。
我的情况是使用 IIS 作为命令,所以我检查 iis => applictionUrl 和 sslPort。
问题出在这里,应用程序 url 使用了不同的域名。
这 不同于发布 URL。一旦我使用 launch url 域在我的本地开发箱上重新发布该网站,它就可以正常工作。顺便说一句,我们使用主机文件来伪造这些域名。
如果您有其他团队成员从事同一个项目,请确保你们都使用相同的开发网站设置。或者开发人员可以在本地编辑它,如果它不能在其他开发人员的机器上工作,请不要检查设置。
在我的例子中,当我手动清除 bin 文件夹(删除了 IISSupport 文件夹中的必要文件)并尝试加载在 IIS 中我的本地主机下设置为应用程序的应用程序时,出现了这个问题。
要解决所有问题,我需要做的就是通过 Visual Studio 运行 应用程序,这会将必要的 IISSupport 文件夹和文件添加到 bin 中。
在我的例子中,我的项目在 IIS 中设置为网站,但项目目录中缺少文件“bin\IISSupport\VSIISExeLauncher.exe”。
我在 Visual Studio 2019 年调试项目时简单地选择了“IIS”,它生成了丢失的文件。它还在 IISSupport 文件夹中生成了 2 个文本文件(IISExeLauncherArgs.txt、pidfile.txt),对我的 web.config 文件进行了更改,并且我的项目 运行 成功。
之后,我可以访问在 IIS 中设置的本地网站,而无需 运行 Visual Studio。
星期四晚上,我在 ASP.NET Core 2.1 中构建的项目(正在为 ASP.NET Core 2.2 做准备)运行ning 在我的本地 IIS 10.0(不是 IIS Express)并且能够运行它没有任何问题。星期五早上,在进入办公室后,每次尝试 运行 我在 Visual Studio 中的解决方案时都会遇到以下错误:
- 无法启动进程 C:\Program Files (x86)\dotnet\dotnet.exe。 Web 服务器请求失败,状态代码为 502,网关错误。完整回复已写入 [file_name].html.
当我打开 [file_name].html 时,得到的响应是:
- HTTP 错误 502.5 - ANCM 进程外启动失败
当我打开事件查看器时,我得到了响应:
- 具有物理根“[Path]”的应用程序 'MACHINE/WEBROOT/APPHOST/DEFAULT WEB SITE/[Path]' 无法使用命令行“[Path]\bin\IISSupport\VSIISExeLauncher.exe -argFile IISExeLauncherArgs.txt”启动进程,错误代码 = '0x800700c1' : 0.
我有:
- 通过 Windows 功能关闭和打开 IIS,确保检查了正确的 Internet 信息服务功能
- 创建了一个应用程序池,其中 [.NET CLR 版本] 设置为 "No Managed Code",[托管管道模式] 设置为 "Integrated"
- 卸载并重新安装:IIS Url重写为 IIS
- 已卸载并重新安装:Microsoft .NET Core SDK - 2.1.504 (x64)
- 已卸载并重新安装:Microsoft .NET Core SDK - 2.1.504 (x84)
- 已卸载并重新安装:Microsoft .NET Core SDK - 2.2.104 (x64)
- 已卸载并重新安装:Microsoft .NET Core SDK - 2.2.104 (x84)
- 已卸载并重新安装:Microsoft .NET Core 运行时 - 2.1.8 (x64)
- 已卸载并重新安装:Microsoft .NET Core 运行时 - 2.1.8 (x86)
- 已卸载并重新安装:Microsoft .NET Core 运行时 - 2.2.2 (x64)
- 已卸载并重新安装:Microsoft .NET Core 运行时 - 2.2.2 (x86)
- 卸载并重新安装:Microsoft .NET Core 2.1.8 - Windows 服务器托管
- 已卸载并重新安装:Microsoft .NET Core 2.2.2 - Windows 服务器托管
- 重新安装后重新启动我的电脑
我还能尝试什么,因为我的 none 个其他项目也在运行。
我通过重新安装 Visual studio 解决了这个问题。我仍然不确定这是否是解决此问题的最佳方法。
我也尝试了这个问题中提到的所有方法,但都没有解决问题。
我找到了解决方案。
在我团队项目的根文件夹中,有一个名为 "The" 的空 "file" 文件。为了事情的缘故,我们的项目被称为"The Project",单词之间有一个space。我删除了这个文件,一切正常。
我的猜测是,从我们的 Teams 服务器获取最新文件一定是生成了一个半成型的文件,并扰乱了我项目的构建。
就我而言,问题出在 launchSettings.json。
首先,在单击 运行 按钮时确保您运行正在使用哪个配置文件。 我的情况是 'IIS Express',
然后打开文件,转到=>配置文件,确保IIS Express 配置文件中的命令名称。 我的情况是 IIS。 more details about command name.
并检查上一节中的 iisSettings。 我的情况是使用 IIS 作为命令,所以我检查 iis => applictionUrl 和 sslPort。 问题出在这里,应用程序 url 使用了不同的域名。 这 不同于发布 URL。一旦我使用 launch url 域在我的本地开发箱上重新发布该网站,它就可以正常工作。顺便说一句,我们使用主机文件来伪造这些域名。
如果您有其他团队成员从事同一个项目,请确保你们都使用相同的开发网站设置。或者开发人员可以在本地编辑它,如果它不能在其他开发人员的机器上工作,请不要检查设置。
在我的例子中,当我手动清除 bin 文件夹(删除了 IISSupport 文件夹中的必要文件)并尝试加载在 IIS 中我的本地主机下设置为应用程序的应用程序时,出现了这个问题。
要解决所有问题,我需要做的就是通过 Visual Studio 运行 应用程序,这会将必要的 IISSupport 文件夹和文件添加到 bin 中。
在我的例子中,我的项目在 IIS 中设置为网站,但项目目录中缺少文件“bin\IISSupport\VSIISExeLauncher.exe”。
我在 Visual Studio 2019 年调试项目时简单地选择了“IIS”,它生成了丢失的文件。它还在 IISSupport 文件夹中生成了 2 个文本文件(IISExeLauncherArgs.txt、pidfile.txt),对我的 web.config 文件进行了更改,并且我的项目 运行 成功。
之后,我可以访问在 IIS 中设置的本地网站,而无需 运行 Visual Studio。