【问题标题】:Error 502.5 - Process Failure ASP.NET Core 1.1错误 502.5 - 进程失败 ASP.NET Core 1.1
【发布时间】:2017-11-29 15:05:04
【问题描述】:

我在部署 ASP.NET Core Web 应用程序时遇到此错误。我做了以下事情:

  • 启用 Web 服务器 (IIS) 角色并建立角色服务。
  • 安装 .NET Core Windows Server Hosting bundle v2.0.3
  • 重启系统或执行net stop was /y后跟net start w3svc

这是我的 csproj 文件:

 <Project Sdk="Microsoft.NET.Sdk.Web" ToolsVersion="15.0">

  <PropertyGroup>
    <TargetFramework>netcoreapp1.1</TargetFramework>
    <PreserveCompilationContext>true</PreserveCompilationContext>
    <AssemblyName>MyWebApplication</AssemblyName>
    <OutputType>Exe</OutputType>
    <PackageTargetFallback Condition=" '$(TargetFramework)' == 'netcoreapp1.0' ">$(PackageTargetFallback);dotnet5.6;portable-net45+win8</PackageTargetFallback>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="AutoMapper" Version="6.1.1" />
    <PackageReference Include="AutoMapper.Extensions.Microsoft.DependencyInjection" Version="2.0.1" />
    <PackageReference Include="Microsoft.AspNetCore" Version="1.1.2" />
    <PackageReference Include="Microsoft.AspNetCore.Authentication.Cookies" Version="1.1.2" />
    <PackageReference Include="Microsoft.AspNetCore.Diagnostics" Version="1.1.2" />
    <PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="1.1.2" />
    <PackageReference Include="Microsoft.AspNetCore.Mvc" Version="1.1.3" />
    <PackageReference Include="Microsoft.AspNetCore.Routing" Version="1.1.2" />
    <PackageReference Include="Microsoft.AspNetCore.Server.IISIntegration" Version="1.1.2" />
    <PackageReference Include="Microsoft.AspNetCore.Server.Kestrel" Version="1.1.2" />
    <PackageReference Include="Microsoft.AspNetCore.StaticFiles" Version="1.1.2" />
    <PackageReference Include="Microsoft.EntityFrameworkCore" Version="1.1.2" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="1.1.2" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="1.1.1" />
    <PackageReference Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="1.1.2" />
    <PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="1.1.2" />
    <PackageReference Include="Microsoft.Extensions.Configuration.UserSecrets" Version="1.1.2" />
    <PackageReference Include="Microsoft.Extensions.Logging" Version="1.1.2" />
    <PackageReference Include="Microsoft.Extensions.Logging.Console" Version="1.1.2" />
    <PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="1.1.2" />
    <PackageReference Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="1.1.2" />
    <PackageReference Include="Microsoft.VisualStudio.Web.BrowserLink.Loader" Version="14.1.0" />
    <PackageReference Include="System.Runtime.Serialization.Json" Version="4.3.0" />
    <PackageReference Include="Telerik.UI.for.AspNet.Core" Version="2017.2.621" />
  </ItemGroup>

  <PropertyGroup>
   <UserSecretsId>8844d677-223b-4527-a648-387a65933d55</UserSecretsId>
   <ApplicationIcon>wwwroot\favicon.ico</ApplicationIcon>
  </PropertyGroup>

  <ItemGroup>
    <DotNetCliToolReference Include="BundlerMinifier.Core" Version="2.2.301" />
  </ItemGroup>

  <PropertyGroup Label="Globals">
    <SccProjectName>SAK</SccProjectName>
    <SccProvider>SAK</SccProvider>
    <SccAuxPath>SAK</SccAuxPath>
    <SccLocalPath>SAK</SccLocalPath>
    <Version>1.0.0</Version>
  </PropertyGroup>

  <PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
    <DefineConstants>$(DefineConstants);RELEASE</DefineConstants>
  </PropertyGroup>

</Project>

这是我的 web.config 文件:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <!--
    Configure your application settings in appsettings.json. Learn more at https://go.microsoft.com/fwlink/?LinkId=786380
  -->
  <system.webServer>
    <handlers>
      <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
    </handlers>
    <aspNetCore processPath="C:\Program Files\dotnet\dotnet.exe" arguments=".\MyWebApplication.dll" stdoutLogEnabled="true" stdoutLogFile=".\logs\stdout" forwardWindowsAuthToken="false" />
  </system.webServer>
</configuration>

我在事件查看器中收到此错误:

应用程序 'MACHINE/WEBROOT/APPHOST/WWW.MYWEBAPP.COM' 与物理 root 'C:\inetpub\www.mywebapp.com\' 无法启动进程 命令行 'dotnet .\mywebapplication.dll',错误代码 = '0x80004005: 80008083.

【问题讨论】:

标签: c# asp.net asp.net-core webdeploy


【解决方案1】:

您很可能缺少 Visual C++ 2015 运行时(here)。托管包会在安装过程中尝试下载并安装它,但如果出现网络问题或服务器无法连接外部(在企业环境中很常见),则会失败,您需要使用可再分发。

我不记得上次我遇到此问题时是否需要它,但您可能想在之后再次重新启动服务器,以防万一。

编辑

如果您仍然遇到问题,请尝试通过以下方式从命令行运行您的应用:

dotnet MyApp.dll

这将让您看到启动时引发的任何异常。

如果您收到如下错误:

It was not possible to find any compatible framework version ...

确保您具有适用于您的应用程序所针对的 ASP.NET Core 版本的特定运行时。目前,它是 2.0.3(适用于所有 2.X 应用程序)或 LTS 1.1.5(适用于所有 1.X 应用程序)。你可以找到最新的运行时here。

【讨论】:

  • 直接从命令行运行应用程序:dotnet run MyApp.dll。查看启动过程中是否有异常。
  • 我试过这样做,但我得到了这个错误:Couldn't find a project to run. Ensure a project exists in ... or pass the path to the project using --project.
  • 这是一个奇怪的错误。我假设您在该 DLL 存在的实际目录中运行它。您确实发布了它对吗?换句话说,它不仅仅是直接构建的项目文件?
  • 正确,它构建、发布成功,但在运行时出现 502.5 错误
  • 我已经发布了一个编辑,其中包含我在事件查看器中遇到的详细错误...
【解决方案2】:

我发现了同样的问题,但我的目标框架是 netcoreapp2.0,我通过使用自包含部署解决了这个问题,没有第三方依赖项,每个 Microsoft 文档如下。我也使用了目标框架netcoreapp1.0,它可以使用相同的方法解决。

See here solution

【讨论】:

    猜你喜欢
    • 2018-06-07
    • 1970-01-01
    • 1970-01-01
    • 2018-11-04
    • 2017-08-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多