我正在尝试使用 VS 2019 Enterprise 提供的 asp.net core 3.1 模板设置工作服务。迄今为止:
1 / 创建一个新项目并运行它:“托管环境:开发”,按预期工作。
发展
2 / 创建了一个 FileSystem 发布配置文件,并添加<EnvironmentName>Test</EnvironmentName>了将 worker 发布到测试环境的示例
<?xml version="1.0" encoding="utf-8"?>
<!--
https://go.microsoft.com/fwlink/?LinkID=208121.
-->
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<PublishProtocol>FileSystem</PublishProtocol>
<Configuration>Release</Configuration>
<Platform>Any CPU</Platform>
<TargetFramework>netcoreapp3.1</TargetFramework>
<PublishDir>bin\Release\netcoreapp3.1\publish\</PublishDir>
<EnvironmentName>Test</EnvironmentName>
</PropertyGroup>
</Project>
Run Code Online (Sandbox Code Playgroud)
启动发布版本时,HostingEnvironment 设置为“Production”,但我在 FolderProfile.pubxml 中定义了“Test”
生产
我试过了dotnet publish /p:EnvironmentName=Test,没有成功。
我还尝试手动生成一个 web.config 文件,其中包含
<environmentVariable name="ASPNETCORE_ENVIRONMENT" value="Test" />
工作服务似乎忽略了 web.config 文件。
它在调试时适用于 VS,具有 DOTNET_ENVIRONMENT = Test
测试
在不同环境中发布工作服务的正确方法是什么?