我将.Net核心项目部署到窗口服务器2012 R2 64bit,这发生了:
HTTP错误502.5 - 根据Microsoft指南处理失败,他们说这是因为平台与RID冲突。
(https://docs.microsoft.com/en-us/aspnet/core/publishing/iis?tabs=aspnetcore2x#common-errors)
我已经完成了该指南中的每一步,但无法修复它。所以谁知道如何解决这个问题?如果可以,我将不胜感激。谢谢。
注意:我已经给出了发布文件夹的完全权限,并且还安装了ASPNetCoreModule v2.0,net core sdk 2.0。我的IIS版本是8.5。
这是我的.csproj:
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp2.0</TargetFramework>
<RootNamespace>_MyAppAPI</RootNamespace>
<AssemblyName>_MyAppAPI</AssemblyName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
<DocumentationFile></DocumentationFile>
</PropertyGroup>
<ItemGroup>
<Content Remove="wwwroot\swagger\authen\basic-auth.js" />
<Content Remove="wwwroot\swagger\ui\custome.css" />
</ItemGroup>
<ItemGroup>
<Folder Include="Middleware\" />
<Folder Include="Logs\" />
<Folder Include="Models\appapi\" />
<Folder Include="wwwroot\lib\" />
<Folder Include="wwwroot\logs\" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.All" Version="2.0.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="2.0.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="2.0.0" />
<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="2.0.0" />
<PackageReference Include="Serilog.Extensions.Logging.File" Version="1.1.0" />
<PackageReference Include="Swashbuckle.AspNetCore" Version="1.0.0" />
</ItemGroup>
<ItemGroup>
<DotNetCliToolReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="2.0.0" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="wwwroot\swagger\authen\basic-auth.js" />
<EmbeddedResource Include="wwwroot\swagger\ui\custome.css" />
</ItemGroup>
</Project>
构建后的web.config:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
</handlers>
<aspNetCore processPath="dotnet" arguments=".\_MyAppAPI.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" />
</system.webServer>
</configuration>
<!--ProjectGuid: 2510f4bb-368b-4ab2-96e1-5d06b14d677e-->
我碰到了这个:IIS fails to run ASP.NET Core site - HTTP Error 502.5 似乎是我的问题。但我无法在任何地方找到.exe文件。 :(
答案 0 :(得分:1)
某些人可能会从我已完成的步骤中获得帮助。
确保(在Windows Server中托管.net核心应用程序时):
就这样。您可以使用项目的服务器IP /别名来浏览您的应用程序 http://192.168.100.10/samplesite
答案 1 :(得分:0)
遇到相同的问题,首先在web.config中启用登录更改为:
stdoutLogEnabled="true"
,并确保已在已发布应用程序的根文件夹中创建“ logs”文件夹。 重新启动IIS站点(您的Web)并检查日志,它们将告诉您出了什么问题。
答案 2 :(得分:0)
呵呵! Windows上.NET Core的先决条件:
对于Windows 8.1和更低版本,或Windows Server 2012 R2和更低版本:
确保您的Windows安装是最新的,并且包括KB2999226,可以通过Windows Update安装。如果未安装此更新,则在启动.NET Core应用程序时会看到类似以下的错误:该程序无法启动,因为api-ms-win-crt-runtime-l1-1-0您的计算机中缺少.dll。尝试重新安装程序以解决此问题。
查看更多: https://docs.microsoft.com/pt-br/dotnet/core/windows-prerequisites?tabs=netcore30
答案 3 :(得分:-1)
只需仔细检查一下,您是否设置了默认文件?
此外,在IIS中,您可能必须将此部署的应用程序池管道从集成切换到经典,并将.NET CLR版本切换为2.0(如果您是运行.net 2.0项目。
取决于您使用的.net版本。