这篇文章主要讲解了“ASP.NET Core指定环境发布的方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“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
环境变量呢?很简单,敲个命令就可以了。
命令行:
>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
启动项目,才会有效。
命令行:
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.
感谢各位的阅读,以上就是“ASP.NET Core指定环境发布的方法是什么”的内容了,经过本文的学习后,相信大家对ASP.NET Core指定环境发布的方法是什么这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。