Ошибка 502.5 - сбой процесса ASP.NET Core 1.1
Я получаю эту ошибку при развертывании моего веб-приложения ASP.NET Core. Я сделал следующее:
- Включите роль веб-сервера (IIS) и установите службы ролей.
- Установите пакет.NET Core Windows Server Hosting 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' с физическим корнем 'C:\inetpub\www.mywebapp.com\' не удалось запустить процесс с командной строкой 'dotnet .\ Mywebapplication.dll', ErrorCode = '0x80004005: 80008083.
2 ответа
Скорее всего, вам не хватает среды выполнения Visual C++ 2015 (доступно здесь). Хостинг-пакет пытается загрузить и установить его во время установки, но если есть проблема с сетью или сервер не может подключиться извне (обычно в корпоративных средах), то происходит сбой, и вам нужно будет установить его вручную с помощью распространяемый.
Я не могу вспомнить, было ли это необходимо или нет, когда я в последний раз сталкивался с этой проблемой, но вы можете перезагрузить сервер снова, потом, на всякий случай.
РЕДАКТИРОВАТЬ
Если у вас все еще есть проблемы, попробуйте запустить приложение из командной строки с помощью:
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). Вы можете найти последние версии здесь.
Я обнаружил ту же проблему, но моя целевая работа с кадрами - netcoreapp2.0, и я решил ее с помощью автономного развертывания без сторонних зависимостей для каждого документа Microsoft. Я также использовал целевую систему работы netcoreapp1.0, и это можно решить с помощью той же методологии.