我有asp.net core 2应用程序。基于documentation我为我的开发环境创建了.pubxml
文件。我正在使用Web部署(远程代理)将Web包部署到目标Web服务器。在我们的构建服务器上安装了jenkins,我运行以下命令来构建&部署
D:\Jenkins\myproject\workspace\myapplication\Src\Api>dotnet publish Api.csproj /p:PublishProfile=development.pubxml
它成功构建并部署应用程序到目标Web服务器。
但是,我的应用程序有多个appsettings
文件特定于每个环境。例如appsettings.json
,appsettings.development.json
,appsettings.staging.json
和appsettings.production.json
部署过程将所有appsettings文件部署到Web服务器。 (在本例中为开发Web服务器)
我如何只包含特定于环境的appsettings文件? (在这种情况下,我想部署appsettings.json
,appsettings.development.json
而不是其他2个文件
答案 0 :(得分:3)
您可以将<ItemGroup>
个定义添加到包含文件更新语句的发布配置文件(.pubxml文件)中。
例如,如果发布配置文件根据环境命名为Production.pubxml
/ Staging.pubxml
,则可以将此项组添加到根<Project>
xml节点:
<ItemGroup>
<Content Update="appsettings.*.json" CopyToPublishDirectory="Never" />
<Content Update="appsettings.$(MSBuildThisFileName).json" CopyToPublishDirectory="PreserveNewest" />
</ItemGroup>