发布并 运行 一个 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
文件添加到 publishOptions
的 include
部分:
{
"publishOptions": {
"include": [
"wwwroot",
"Views",
"Areas/**/Views",
"settings.json",
"settings.production.json",
"web.config"
]
}
}
在 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
文件添加到 publishOptions
的 include
部分:
{
"publishOptions": {
"include": [
"wwwroot",
"Views",
"Areas/**/Views",
"settings.json",
"settings.production.json",
"web.config"
]
}
}