【发布时间】:2017-10-13 04:42:19
【问题描述】:
我将我的 .Net 核心项目部署到 window server 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 文件。 :(
【问题讨论】:
-
你能告诉我们更多关于你是如何发布应用程序的吗?可以给我们csproj吗?
-
@IvanMilosavljevic 你好。我只是更新了我的 csproj 文件和 web.config。
-
你如何部署/发布项目?
-
@IvanMilosavljevic 从视觉工作室,我发布文件夹发布输出。然后将所有内容复制到 C:\inetpub\wwwroot 中名为“api”的新文件夹中。之后,我在 IIS 中创建了一个物理路径为 C:\inetpub\wwwroot\api 的网站并从那里运行。
-
您解决了吗?我在尝试部署 .Net Core 2.0 网络应用时遇到了同样的问题。
标签: c# .net-core iis-8.5 window-server