我是靠谱客的博主 明亮楼房,最近开发中收集的这篇文章主要介绍ASP.NET Core (WebApi)发布时如何发布到开发环境或生产环境(ASPNETCORE_ENVIRONMENT),觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
一、在 .csproj 项目主文件中添加 EnvironmentName
可以在 .csproj 项目主文件中增加 <EnvironmentName> 节点来设置环境变量,在对应的编译平台加入此节点,对应相应的环境即可,重新编译时,会自动添加到web.config文件中。
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
<DocumentationFile></DocumentationFile>
<WarningLevel>5</WarningLevel>
<NoWarn>1701;1702;1591</NoWarn>
<FileAlignment>1024</FileAlignment>
<DebugType>portable</DebugType>
<DebugSymbols>true</DebugSymbols>
<PlatformTarget>AnyCPU</PlatformTarget>
<Prefer32Bit>false</Prefer32Bit>
<DefineConstants>TRACE</DefineConstants>
<EnvironmentName>Development</EnvironmentName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
<DebugType>none</DebugType>
<DebugSymbols>false</DebugSymbols>
<DocumentationFile></DocumentationFile>
<OutputPath></OutputPath>
<NoWarn>1701;1702;1591</NoWarn>
<EnvironmentName>Production</EnvironmentName>
</PropertyGroup>
二、在 FolderProfile.pubxml 中添加 EnvironmentName
在Properties => PublishProfiles,文件目录下,有.pubxml后缀的文件,这些文件用来发布的,此处可以添加不同的文件,用于区分开发环境和生产环境,如:Development.pubxml、Production.pubxml 在这两个文件中,加入EnvironmentName节点即可,如下:
Development.pubxml
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<WebPublishMethod>MSDeploy</WebPublishMethod>
<LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
<EnvironmentName>Development</EnvironmentName>
</PropertyGroup>
</Project>
Production.pubxml
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<WebPublishMethod>MSDeploy</WebPublishMethod>
<LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
<EnvironmentName>Production</EnvironmentName>
</PropertyGroup>
</Project>
以上文件有删减,直接复制节点即可,不可直接使用。
三、在使用dotnet publish 命令中添加
在用 dotnet pulish 发布项目时,可以在发布参数中指定 环境变量。
dotnet publish -c Debug -r win-x64 /p:EnvironmentName=Development
四、cmd配置
Command Line : setx ASPNETCORE_ENVIRONMENT "Development"
PowerShell : $Env:ASPNETCORE_ENVIRONMENT = "Development"
五、直接在发布后或者生成后的web.config文件中添加
environmentVariables
如下所示:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<location path="." inheritInChildApplications="false">
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
</handlers>
<aspNetCore processPath="binDebugnet6.0*.exe" arguments="" stdoutLogEnabled="false" hostingModel="InProcess">
<environmentVariables>
<environmentVariable name="ASPNETCORE_ENVIRONMENT" value="Development" />
</environmentVariables>
</aspNetCore>
</system.webServer>
</location>
<system.webServer>
<httpErrors errorMode="Detailed" />
</system.webServer>
</configuration>
直接复制 <environmentVariables>节点即可,不要全篇复制使用。
最后
以上就是明亮楼房为你收集整理的ASP.NET Core (WebApi)发布时如何发布到开发环境或生产环境(ASPNETCORE_ENVIRONMENT)的全部内容,希望文章能够帮你解决ASP.NET Core (WebApi)发布时如何发布到开发环境或生产环境(ASPNETCORE_ENVIRONMENT)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复