【问题标题】:How exclude certain appsettings files from publishing如何从发布中排除某些 appsettings 文件
【发布时间】:2018-05-18 19:27:56
【问题描述】:

我有 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.jsonappsettings.development.jsonappsettings.staging.jsonappsettings.production.json 部署过程会将所有 appsettings 文件部署到 Web 服务器。 (在本例中为开发 Web 服务器)

如何只包含特定于环境的 appsettings 文件? (在这种情况下,我想部署 appsettings.jsonappsettings.development.json 但不是其他 2 个文件)

【问题讨论】:

    标签: msbuild web-deployment asp.net-core-2.0 web-deployment-project coreclr


    【解决方案1】:

    您可以将<ItemGroup> 定义添加到包含文件更新语句的发布配置文件(.pubxml 文件)中。

    例如如果发布配置文件根据环境命名为Production.pubxml/Staging.pubxml,则可以将此项目组添加到根<Project>xml节点:

    <ItemGroup>
      <Content Update="appsettings.*.json" CopyToPublishDirectory="Never" />
      <Content Update="appsettings.$(MSBuildThisFileName).json" CopyToPublishDirectory="PreserveNewest" />
    </ItemGroup>
    

    【讨论】:

    • 为我工作。我刚刚添加了 以忽略非特定环境文件。
    【解决方案2】:

    我可以通过以下*.pubxml 处理这个问题:

    
    <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
      <PropertyGroup>
       .
       .
       .
      </PropertyGroup>
      <ItemGroup>
        <Content Update="appsettings.Development.json">
          <CopyToPublishDirectory>Never</CopyToPublishDirectory>
          <CopyToOutputDirectory>Never</CopyToOutputDirectory>
        </Content>
        <Content Update="appsettings.TestBed.json">
          <CopyToPublishDirectory>Never</CopyToPublishDirectory>
          <CopyToOutputDirectory>Never</CopyToOutputDirectory>
        </Content>
      </ItemGroup>
    </Project>
    
    

    【讨论】:

      猜你喜欢
      • 2011-08-31
      • 1970-01-01
      • 1970-01-01
      • 2015-11-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多