发布并 运行 一个 ASP.NET 核心 1.0 应用程序投入生产

Publish and Run an ASP.NET Core 1.0 Application in Production

在 ASPNETCORE 1.0 应用程序上,我在启动时有以下内容:

public Startup(IHostingEnvironment hostingEnvironment) {

  ConfigurationBuilder builder = new ConfigurationBuilder();

  builder
    .SetBasePath(hostingEnvironment.ContentRootPath)
    .AddJsonFile("settings.json", false, true)
    .AddJsonFile($"settings.{hostingEnvironment.EnvironmentName}.json", false, true);
  builder.AddEnvironmentVariables();

  Configuration = builder.Build();

}

我的项目有 2 个设置文件:

settings.json
settings.production.json

我使用命令行发布了项目:

set ASPNETCORE_ENVIRONMENT=production
dotnet publish --configuration Release

发布的文件包括 settings.json 但不包括 settings.production.json。并且 settings.json 确实包含仅在 settings.production.json 中的属性。他们不应该在发布时合并吗?

除此之外,当我将文件复制到我的服务器时,如何确保应用程序在生产模式下运行?

我需要在 Web.config 上做任何事情吗?

您需要更新 project.json 以将 settings.production.json 文件添加到 publishOptionsinclude 部分:

{
  "publishOptions": {
    "include": [
      "wwwroot",
      "Views",
      "Areas/**/Views",
      "settings.json",
      "settings.production.json",
      "web.config"
    ]
  }
}