首页后端开发ASP.NETASP.NET Core 应用程序发布命令实例

ASP.NET Core 应用程序发布命令实例

时间2024-01-30 06:25:03发布访客分类ASP.NET浏览366
导读:收集整理的这篇文章主要介绍了ASP.NET Core 应用程序发布命令实例,觉得挺不错的,现在分享给大家,也给大家做个参考。ASP.NET Core 应用程序发布命令:dotnet publish [<PROJECT>] [-f...
收集整理的这篇文章主要介绍了ASP.NET Core 应用程序发布命令实例,觉得挺不错的,现在分享给大家,也给大家做个参考。ASP.NET Core 应用程序发布命令:

dotnet publish [PROJECT>
    ] [-f|--framework] [-r|--runtime] [-o|--output] [-c|--configuration] [--version-suffix] [-v|--verbosITy] [-h|--help]

发布示例命令(生成在bin/release/netcoreapp1.1/publish目录下):

dotnet publish -c release

上面命令并没有指定environmentName发布,什么意思呢?比如 ASP.NET Core 应用程序中的appsettings.json配置,测试环境和生产环境配置并不相同(比如数据库连接字符串),如果用上面的发布命令,我们还需要手动拷贝下不同环境的appsettings.json文件,以后要更改了,还需要再进行发布更新,很麻烦。

怎么解决上面的问题,很简单,指定下开发机或者服务器的ASPNETCORE_ENVIRONMENT环境变量,设置环境变量之后,执行dotnet *.dll启动程序的时候,ASP.NET Core 会自动加载此环境变量对应的appsettings.*.json文件,比如appsettings.Production.json

其实,我们使用 VS 2017 F5 调试项目的时候,也会默认设置ASPNETCORE_ENVIRONMENT环境变量的,比如 ASP.NET Core 应用程序中的launchSettings.json示例配置:

"profiles": {
"IIS ExPress": {
  "commandName": "IISExpress",  "launchbrowser": true,  "launchUrl": "api/values",  "environmentVARiables": {
"ASPNETCORE_ENVIRONMENT": "Development"  }
}
,"AspNetCore.Samples": {
  "commandName": "Project",  "launchBrowser": true,  "launchUrl": "api/values",  "environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"  }
,  "applicationUrl": "http://localhost:59522"}
}

Startup示例配置:

public Startup(IHostingEnvironment env){
var builder = new ConfigurationBuilder()        .SetBasePath(env.ContentRootPath)        .AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)        .AddJsonFile($"appsettings.{
env.EnvironmentName}
    .json", optional: true)        .AddEnvironmentVariables();
        Configuration = builder.Build();
}
    

因为上面配置中,ASPNETCORE_ENVIRONMENT设置的是Development,我们在使用 VS 2017 F5 调试项目,会加载和使用项目下的appsettings.Development.json配置文件,如果不存在此文件,ASP.NET Core 默认会使用appsettings.json配置文件。

那我们怎么在服务器上设置ASPNETCORE_ENVIRONMENT环境变量呢?很简单,敲个命令就可以了。

1. Windows 服务器设置

命令行:

>
    setx ASPNETCORE_ENVIRONMENT "Development"SUCCESS: SPEcified value was saved.

或者(需要管理员权限)

>
    setx ASPNETCORE_ENVIRONMENT "Development" /MSUCCESS: Specified value was saved.

PowerShell命令:

$Env:ASPNETCORE_ENVIRONMENT = "Prodction"

Windows 设置环境命令后,需要重新再开一个命令行dotnet *.dll启动项目,才会有效。

2. MacOS/Linux 服务器设置

命令行:

export ASPNETCORE_ENVIRONMENT=development

dotnet *.dll启动项目的时候,我们可以看到当前的Hosting environment,以便检查是否正确,示例:

>
     dotnet AspNetCore.Samples.dllHosting environment: ProdtctionContent root path: C:\Users\yuezh\Desktop\Demo\AspNetCore.SamplesNow listening on: http://*:5003Application started. Press Ctrl+C to shut down.

参考资料:

  • dotnet-publish

  • Working with multiple environments

  • How to set the hosting environment in ASP.NET Core

以上就是ASP.NET Core 应用程序发布命令实例的详细内容,更多请关注其它相关文章!

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!

ASP.NETCore发布指定环境"

若转载请注明出处: ASP.NET Core 应用程序发布命令实例
本文地址: https://pptw.com/jishu/592157.html
es6数组怎么删除指定元素 winform 信息管理系统图文实例

游客 回复需填写必要信息