发布到ASP.NET CORE项目到 Windows server 2012

Posted by Zeusro on January 17, 2018

装软件

  • .NET Core Windows Server 托管捆绑包

ASP.NET Core 模块是一个 IIS 7.5+ 模块,它负责 ASP.NET Core HTTP 侦听器的进程管理,并将请求代理到它所管理的进程。 目前,为 IIS 安装 ASP.NET Core 模块的过程为手动操作。 需要在常规(而不是 Nano)计算机上安装 .NET Core Windows Server 托管捆绑包

  • 安装补丁

Update for Universal C Runtime in Windows

  • 其他配置
  1. 环境变量ASPNETCORE_ENVIRONMENT,设置为Production,表示该服务器读取的是生产环境 appsettings.Development.json的配置

源代码发布

1
2
3
4
5
6
7
8
9
10
11
dotnet publish E:\xxx\project.csproj 
/p:PublishProfile="E:\xxx\Properties\PublœishProfiles\jenkins.pubxml" 
/p:Configuration=Release 
-o E:\jenkins 
-v detailed  
--force 
-c Release 
-r win8-x64

# 简化命令
# dotnet publish -c Release -r win8-x64 -o E:\jenkins 

IIS配置

参考链接里面说的很清楚了,主要就是设置应用程序池为无托管代码即可,把编译出来的目录作为 web 目录就行了,出现问题的按Troubleshoot那个链接处理

参考链接:

  1. .NET Core RID 目录
  2. Host ASP.NET Core on Windows with IIS
  3. Amazing ASP.NET Core 2.0
  4. 使用 IIS 在 Windows 上托管 ASP.NET Core
  5. dotnet 发布
  6. ASP.NET Core Module configuration reference
  7. Troubleshoot ASP.NET Core on IIS
  8. Visual Studio publish profiles for ASP.NET Core app deployment
  9. 使用多个环境