【问题标题】:ASP.Net Core 2 - IIS 502.5 ErrorASP.Net Core 2 - IIS 502.5 错误
【发布时间】:2018-01-01 19:46:32
【问题描述】:

我正在 Visual Studio 2017 中创建一个 ASP .Net Core (2.0) MVC 应用程序,该应用程序运行良好。

昨天关闭我的计算机并今天回到我的应用程序后,我现在在没有调试的情况下在 chrome 中启动应用程序时收到此浏览器错误。

在应用程序的目录中运行 dotnet run,我可以正常访问该站点。只是当我通过 Visual Studio/IIS Express 运行它时,我得到了这个错误。

HTTP 错误 502.5 - 进程失败

应用程序构建和编译得很好。我也清洗了溶液。

查看我发现的事件日志:

  • 应用程序 'MACHINE/WEBROOT/APPHOST/MYAPP' 与 物理根目录 'C:\Users\Ben Hawkins\Desktop\Development 文件夹 \Dev\Website\Version_2\MYAPP\MYAPP\' 无法使用命令行“C:\Program Files”启动进程 (x86)\微软视觉 Studio\2017\Community\Common7\IDE\Extensions\Microsoft\Web 工具\ProjectSystem\VSIISExeLauncher.exe -argFile "C:\Users\Ben Hawkins\AppData\Local\Temp\tmp3547.tmp"', ErrorCode = '0x80004005 : 0.

在 Visual Studio 2017 的输出窗口中,我在下面收到此消息 ASP NET CORE 网络服务器

CoreCLR初始化失败,HRESULT:0x80131534

我尝试过的:

  1. 清理解决方案、重建等
  2. 重新启动计算机
  3. 试图启动另一个应用程序。 (结果相同)
  4. 从头开始创建了一个新应用程序。结果相同。
  5. 修复 Visual Studio Community 2017。结果相同。
  6. 停止/关闭 IIS Express

我的设置昨天运行良好,突然不行了。

感谢您的宝贵时间。希望我们能找到解决办法。

【问题讨论】:

  • 您是否杀死了任何正在运行的 iis/iis express 进程?
  • 使用任务栏我右键单击 IIS Express 图标,停止所有应用程序,然后退出 IIS Express。 (在任务管理器中找不到任何实例)。结果还是一样。
  • 这实际上并不能解决问题,但应该有助于将其隔离为 iisexpress 问题或 .net 核心问题。如果您在项目文件夹中打开 vs 命令提示符并键入不带引号的“dotnet run”会发生什么?
  • 在项目文件夹中运行 Dotnet 运行我得到以下信息。各种信息消息,看起来与我的模型和实体框架信息有关。那里似乎没有什么异常......在我得到的信息标签的末尾......托管环境:开发内容根路径:C:\ Users \ Ben Hawkins \ Desktop \ MYAPP \ Dev \ Website \ Version_2 \ MYAPP \ MYAPP现在监听:localhost:64702 应用程序已启动。按 Ctrl+C 关闭。 - - 然而!当我在 VS 中运行应用程序时,它会启动 localhost:64701 ...不同的端口号?
  • 0x80131534 在 .net 核心上是 COR_E_TYPEINITIALIZATION 错误 (per source code here)。它与时区没有任何关系。仅仅因为两个不同的应用程序返回相同的整数错误代码并不意味着错误是相同的。另见issues in coreclr with that error code。

标签: asp.net visual-studio-2017 iis-express coreclr


【解决方案1】:

我们终于找到了问题!以其他用户身份登录到机器后,我们看到了主用户最初忽略的警告。在名为“Program”的目录的根目录中有一个 0 字节的文件,没有文件扩展名。当通过 Visual Studio 调用 VSIISExeLauncher.exe 时,这似乎会导致某种问题。 (请注意,如果从命令提示符执行它会起作用)。删除文件后,一切正常!

我们不确定该文件是如何放置在那里的,但怀疑这是用户从旧硬盘中拉入文件时出现的某种复制错误。

我不知道其他人是否会遇到这个问题,但如果是这样,希望这会有所帮助!

【讨论】:

  • 太棒了!供将来参考,您所说的这个警告出现在哪里?
  • 更进一步,根目录是什么?应用程序?我创建了新的应用程序,但问题仍然存在。
  • 该消息是登录机器时的一个小对话框。该目录是引导驱动器的根目录。 “C:\Program”是文件。消息内容类似于“文件 C:\Program 可能会导致问题。您想将其重命名为 C:\Program1 吗?”
【解决方案2】:

也许您需要安装以前版本的 .NET Core,不是吗?我在这里安装,现在可以使用了。我只安装了 .NET Core 2.0,我意识到 1.1 的应用程序在运行时停止了。在 Windows 的事件日志中,我注册了同样的错误。

【讨论】:

  • 这很有趣,我也只安装了 .Net Core 2.0。但是,据我所知,我的应用程序在出现错误时一直是 2.0。除非他们产生了某种依赖。因为我不再有这个问题,也许它会对@palehorse 有用
【解决方案3】:

我遇到了与 ASP.net Core 2.0 非常相似的问题。我已将我的 VS 项目复制到一个新项目,并且收到此错误消息。

经过一番研究,我能够确定 nlog.config 文件没有被复制到 bin > Debug > net461 文件夹中。一旦我这样做了,我就可以运行我的应用程序了。

我通过在 csproj 文件所在的项目的命令行上运行 dotnet run 找到了它。

【讨论】:

    【解决方案4】:

    尝试通过创建新的 IIS 配置文件将 IISExpress 更改为 IIS,并将午餐更改为 IIS。它解决了我的问题。

    【讨论】:

      【解决方案5】:

      昨天有同样的问题(Windows 10)。 这样解决了:

      1. 将 Microsoft.AspNetCore 更新到最新版本(Nuget 管理器 - 2.1.3)
      2. 确保 sdk 也更新到最新版本。如果没有,请从 Nuget 控制台手动更新它,如下所示: 安装包 Microsoft.NETCore.App -Version 2.1.3
      3. 下载并安装最新的 ASP.NET Core/.NET Core: Runtime & Hosting Bundle 来自here

      【讨论】:

        【解决方案6】:

        2.2 版也有同样的问题。重新安装 .NET Core SDK 为我们解决了这个问题。

        【讨论】:

          【解决方案7】:

          在我的情况下,我的项目在 IIS 中设置为网站,并且项目目录中缺少文件“bin\IISSupport\VSIISExeLauncher.exe”。

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

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

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2016-12-31
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多