ASP.NET核心部署无法在服务器上运行,但可以在机器上运行 [英] Asp.net core deployment not working on server but works on machine

查看:94
本文介绍了ASP.NET核心部署无法在服务器上运行,但可以在机器上运行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试在服务器上部署asp.net核心应用程序.我已经完成了以下步骤.

I am trying to deploy an asp.net core app on a server. I have done the following steps.

首先,这是一个Windows Server 2012 r2环境,它是一个全新的虚拟机.

first thing is first, this is an Windows Server 2012 r2 environment that is a brand new virtual machine.

  1. 构建虚拟机
  2. 更新所有ms更新
  3. 添加iis角色
  4. 确保在计算机上安装了asp.net 3.5和4.5
  5. 确保http重定向和静态内容已安装
  6. 安装.net核心包
  7. 从Visual Studio(项目名称为Web)发布自包含应用程序
  8. 将此添加到服务器上的文件夹.
  9. 尝试从web.exe运行

我打开控制台应用程序,现在说正在监听: http://localhost:5000 10.我从这台计算机上的chrome浏览到 http://localhost:5000 ,但未找到404.

I get the console app opens says now listening on: http://localhost:5000 10. I go to http://localhost:5000 from chrome on this machine and get a 404 not found.

我在Windows 10本地计算机上执行步骤7 8 9和10,得到我的应用程序.

I do steps 7 8 9 and 10 on local machine which is windows 10 i get my application.

project.json

  {
      "dependencies": {
        "AutoMapper": "5.1.1",
        "EntityFramework": "6.1.3",
        "Microsoft.ApplicationInsights.AspNetCore": "1.0.0",
        "Microsoft.AspNetCore.Diagnostics": "1.0.0",
        "Microsoft.AspNetCore.Mvc": "1.0.0",
        "Microsoft.AspNetCore.Razor.Tools": {
          "version": "1.0.0-preview2-final",
          "type": "build"
        },
        "Microsoft.AspNetCore.Server.IISIntegration": "1.0.0",
        "Microsoft.AspNetCore.Server.Kestrel": "1.0.0",
        "Microsoft.AspNetCore.StaticFiles": "1.0.0",
        "Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0",
        "Microsoft.Extensions.Configuration.Json": "1.0.0",
        "Microsoft.Extensions.Logging": "1.0.0",
        "Microsoft.Extensions.Logging.Console": "1.0.0",
        "Microsoft.Extensions.Logging.Debug": "1.0.0",
        "Microsoft.Extensions.Options.ConfigurationExtensions": "1.0.0",
        "Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.0.0"
      },

      "tools": {
        "BundlerMinifier.Core": "2.0.238",
        "Microsoft.AspNetCore.Razor.Tools": "1.0.0-preview2-final",
        "Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.0.0-preview2-final"
      },

      "frameworks": {
        "net452": {
          "dependencies": {
            "DataAccess": {
              "target": "project"
            },
            "Models": {
              "target": "project"
            }
          }
        }
      },

      "buildOptions": {
        "emitEntryPoint": true,
        "preserveCompilationContext": true
      },

      "publishOptions": {
        "include": [
          "wwwroot",
          "Views",
          "Areas/**/Views",
          "appsettings.json",
          "web.config"
        ]
      },
      "runtimes": {
        "win10-x64": {},
        "osx.10.11-64": {} 
      },
      "scripts": {
        "prepublish": [ "bower install", "dotnet bundle" ],
        "postpublish": [ "dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%" ]
      }
    }

从startup.cs配置

public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
    {
        Mapper.Initialize(config =>
        {
            /*View Models*/
            config.CreateMap<Permit, PermitViewModel>().ReverseMap();
            config.CreateMap<PermitType, PermitTypeViewModel>().ReverseMap();
            config.CreateMap<Property, PropertyViewModel>().ReverseMap();
            config.CreateMap<Region, RegionViewModel>().ReverseMap();
            config.CreateMap<State, StateViewModel>().ReverseMap();
            config.CreateMap<User, UserViewModel>().ReverseMap();

            /*Dtos*/
            config.CreateMap<Permit, PermitDto>().ReverseMap();
            config.CreateMap<Property, PropertyDto>().ReverseMap();
            config.CreateMap<Region, RegionDto>().ReverseMap();
            config.CreateMap<State, StateDto>().ReverseMap();
            config.CreateMap<User, UserDto>().ReverseMap();
        });

        loggerFactory.AddConsole(Configuration.GetSection("Logging"));
        loggerFactory.AddDebug();

        app.UseApplicationInsightsRequestTelemetry();

        if (env.IsDevelopment())
        {
            app.UseDeveloperExceptionPage();
            app.UseBrowserLink();
        }
        else
        {
            app.UseExceptionHandler("/Home/Error");
        }

        app.UseApplicationInsightsExceptionTelemetry();

        app.UseStaticFiles();

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

program.cs

public static void Main(string[] args)
        {
            var host = new WebHostBuilder()
                .UseKestrel()
                .UseContentRoot(Directory.GetCurrentDirectory())
                .UseIISIntegration()
                .UseStartup<Startup>()
                .Build();

            host.Run();
        }

我的目标是让它在iis上运行.

my goal is to have this run on iis.

更新

软件:Microsoft Internet信息服务8.5

版本:1.0

日期:2016-12-06 23:49:44

字段:日期时间s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip cs(User-Agent)cs(Referer)sc-状态sc-substatus

sc-win32状态花费的时间2016-12-06 23:49:44fe80 :: 9c6d:a91b:42c:82ea%12选项/-80-fe80 :: c510:a062:136b:abe9%12 DavClnt-200 0 0 1139 2016-12-0623:49:47 fe80 :: 9c6d:a91b:42c:82ea%12选项/网站-80-fe80 :: c510:a062:136b:abe9%12 Microsoft-WebDAV-MiniRedir/10.0.14393-200 0 0 46 2016-12-06 23:49:47 fe80 :: 9c6d:a91b:42c:82ea%12 PROPFIND/网站-80-fe80 :: c510:a062:136b:abe9%12Microsoft-WebDAV-MiniRedir/10.0.14393-404 0 2 62 2016-12-06 23:49:47fe80 :: 9c6d:a91b:42c:82ea%12 PROPFIND/网站-80-fe80 :: c510:a062:136b:abe9%12 Microsoft-WebDAV-MiniRedir/10.0.14393-404 0 2 62

Software: Microsoft Internet Information Services 8.5

Version: 1.0

Date: 2016-12-06 23:49:44

Fields: date time s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip cs(User-Agent) cs(Referer) sc-status sc-substatus

sc-win32-status time-taken 2016-12-06 23:49:44 fe80::9c6d:a91b:42c:82ea%12 OPTIONS / - 80 - fe80::c510:a062:136b:abe9%12 DavClnt - 200 0 0 1139 2016-12-06 23:49:47 fe80::9c6d:a91b:42c:82ea%12 OPTIONS /website - 80 - fe80::c510:a062:136b:abe9%12 Microsoft-WebDAV-MiniRedir/10.0.14393 - 200 0 0 46 2016-12-06 23:49:47 fe80::9c6d:a91b:42c:82ea%12 PROPFIND /website - 80 - fe80::c510:a062:136b:abe9%12 Microsoft-WebDAV-MiniRedir/10.0.14393 - 404 0 2 62 2016-12-06 23:49:47 fe80::9c6d:a91b:42c:82ea%12 PROPFIND /website - 80 - fe80::c510:a062:136b:abe9%12 Microsoft-WebDAV-MiniRedir/10.0.14393 - 404 0 2 62

这是我收到的日志消息

web.config

<?xml version="1.0" encoding="utf-8"?>
<configuration>

  <!--
    Configure your application settings in appsettings.json. Learn more at http://go.microsoft.com/fwlink/?LinkId=786380
  -->

  <system.webServer>
    <handlers>
      <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified"/>
    </handlers>
    <aspNetCore processPath="%LAUNCHER_PATH%" arguments="%LAUNCHER_ARGS%" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" forwardWindowsAuthToken="false"/>
  </system.webServer>
</configuration>

推荐答案

请在平台部分检查"platform":"anycpu" :

"Microsoft.NETCore.App": {
  "version": "1.0.0",
  "type": "platform"
},

 "buildOptions": {
   "platform": "anycpu",
   "emitEntryPoint": true,
   "preserveCompilationContext": true
},

这篇关于ASP.NET核心部署无法在服务器上运行,但可以在机器上运行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆