asp.net-corepublishingmicrosoft-web-deploy

Visual Studio 2017 Always Deploying in Development Mode


I have an ASP.NET Core application that I'm attempting to perform web deploy to a server and no matter what build configuration I select in the profile wizard, it always deploys multiple appsettings files as well as the PDB files for the DLLs. Anyone know what could be causing this?


Solution

  • If you want to exclude .pdb files for release publishing, then you may disable their generation during release build by adding next property to .csproj file (found this here)

    <PropertyGroup>
      <DebugType Condition=" '$(Configuration)' == 'Release' ">None</DebugType>
    </PropertyGroup>
    

    Regarding any configuration (or not) file, it will be published based on CopyToPublishDirectory attribute value. So again, you may use Condition attribute and have something like this (just an idea):

    <ItemGroup Condition=" '$(Configuration)' == 'Debug' ">
       <Content Update="appsettings.debug.json" CopyToPublishDirectory="Always"/>
       <Content Update="appsettings.release.json" CopyToPublishDirectory="Never"/>
    </ItemGroup>
    
    <ItemGroup Condition=" '$(Configuration)' == 'Release' ">
       <Content Update="appsettings.debug.json" CopyToPublishDirectory="Never"/>
       <Content Update="appsettings.release.json" CopyToPublishDirectory="Always"/>
    </ItemGroup>
    

    But in general, it's better to depend on environment setting (Dev, Prod) when we are talking about configs.