【问题标题】:ASP.NET Core 2.0 on IIS error 502.5IIS 错误 502.5 上的 ASP.NET Core 2.0
【发布时间】:2017-11-28 15:27:34
【问题描述】:

我将.net core 2.0 安装到我的 windows server 2008 我有两个网络项目。他们都在我的电脑上工作。但是当我发布到我的服务器时,一个项目运行良好,但其他项目却给出了错误

HTTP 错误 502.5 - 进程失败

应用程序'MACHINE/WEBROOT/APPHOST/KI-TAP.COM' 具有物理根目录 'C:\HostingSpaces\Reseller1\ki-tap.com\wwwroot\' 无法使用命令行启动进程 'dotnet .\ki-tap.dll', ErrorCode = '0x80004005 : 8000808c.

我更新了我的 Windows 服务器,但仍然出现同样的错误。

这是我的program.cs(我没有在这里添加代码。这是默认的)

  public class Program
    {
        public static void Main(string[] args)
        {
            BuildWebHost(args).Run();
        }

        public static IWebHost BuildWebHost(string[] args) =>
            WebHost.CreateDefaultBuilder(args)
                .UseStartup<Startup>()
                .Build();
    }

这是我的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=".\ki-tap.dll" stdoutLogEnabled="true" stdoutLogFile=".\logs\stdout" />


  </system.webServer>
</configuration>

这是我的startup.cs(我添加了会话配置)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;

namespace ki_tap
{
    public class Startup
    {
        public Startup(IConfiguration configuration)
        {
            Configuration = configuration;
        }

        public IConfiguration Configuration { get; }

        // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddMvc();
            services.AddSession();

        }

        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IHostingEnvironment env)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
                app.UseBrowserLink();
            }
            else
            {
                app.UseExceptionHandler("/Home/Error");
            }

            app.UseStaticFiles();
            app.UseSession();

            app.UseMvc(routes =>
            {
                routes.MapRoute(
                    name: "default",
                    template: "{controller=Home}/{action=Index}/{id?}");
            });
        }
    }
}

编辑: 使用@set 建议,我在 cmd 控制台中的 windows server 2008 中运行该命令

C:\Program Files (x86)\dotnet\dotnet myProjectPath\project.DLL

它给出了以下错误。我该怎么办?

 package: 'Microsoft.AspNetCore.Antiforgery', version: '2.0.1'
 path: 'lib/netstandard2.0/Microsoft.AspNetCore.Antiforgery.dll'
his assembly was expected to be in the local runtime store as the application
s published using the following target manifest files:
 aspnetcore-store-2.0.3.xml

【问题讨论】:

标签: iis asp.net-core iis-7.5 asp.net-core-2.0


【解决方案1】:

您可能遇到与 aspnet/IISIntegration 存储库中的 here 所述相同的问题。解决方法是在.csproj文件中加入以下内容:

<PropertyGroup>
   <PublishWithAspNetCoreTargetManifest>false</PublishWithAspNetCoreTargetManifest>
</PropertyGroup>

而且一般来说,这个问题的根源是你本地电脑上的dotnet版本和服务器上的dotnet版本不一样。

【讨论】:

  • 谢谢它的工作,我收到这个错误是因为我的开发机器更新到 2.x.x 并且部署服务器是 2.y.y
  • 我在 AWS EC2 实例中有新的 Windows 服务器。如果我在其中安装所有 .Net Core 相关的东西,比如运行时,它会工作吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-08-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多