Make launchSettings.json a content item that does not get copied to build or publish directory

Fixes https://github.com/aspnet/AspNetCore/issues/12841
\n\nCommit migrated from 34628d3066
This commit is contained in:
Pranav K 2019-08-02 11:26:00 -07:00
parent 6ad8b96f3e
commit 9d594e41c5
3 changed files with 19 additions and 4 deletions

View File

@ -23,7 +23,6 @@ Copyright (c) .NET Foundation. All rights reserved.
<DefaultItemExcludes>$(DefaultItemExcludes);**\jspm_packages\**;jspm_packages\**</DefaultItemExcludes> <DefaultItemExcludes>$(DefaultItemExcludes);**\jspm_packages\**;jspm_packages\**</DefaultItemExcludes>
<DefaultItemExcludes>$(DefaultItemExcludes);**\bower_components\**;bower_components\**</DefaultItemExcludes> <DefaultItemExcludes>$(DefaultItemExcludes);**\bower_components\**;bower_components\**</DefaultItemExcludes>
<DefaultWebContentItemExcludes>$(DefaultWebContentItemExcludes);wwwroot\**</DefaultWebContentItemExcludes> <DefaultWebContentItemExcludes>$(DefaultWebContentItemExcludes);wwwroot\**</DefaultWebContentItemExcludes>
<DefaultWebContentItemExcludes>$(DefaultWebContentItemExcludes);**\launchSettings.json</DefaultWebContentItemExcludes>
</PropertyGroup> </PropertyGroup>
<ItemGroup Condition="'$(EnableDefaultItems)' == 'true' And '$(EnableDefaultContentItems)' == 'true' "> <ItemGroup Condition="'$(EnableDefaultItems)' == 'true' And '$(EnableDefaultContentItems)' == 'true' ">
@ -32,8 +31,8 @@ Copyright (c) .NET Foundation. All rights reserved.
<Content Include="**\*.config" ExcludeFromSingleFile="true" CopyToOutputDirectory="PreserveNewest" CopyToPublishDirectory="PreserveNewest" Exclude="$(DefaultItemExcludes);$(DefaultExcludesInProjectFolder);$(DefaultWebContentItemExcludes)" /> <Content Include="**\*.config" ExcludeFromSingleFile="true" CopyToOutputDirectory="PreserveNewest" CopyToPublishDirectory="PreserveNewest" Exclude="$(DefaultItemExcludes);$(DefaultExcludesInProjectFolder);$(DefaultWebContentItemExcludes)" />
<Content Include="**\*.json" ExcludeFromSingleFile="true" CopyToOutputDirectory="PreserveNewest" CopyToPublishDirectory="PreserveNewest" Exclude="$(DefaultItemExcludes);$(DefaultExcludesInProjectFolder);$(DefaultWebContentItemExcludes)" /> <Content Include="**\*.json" ExcludeFromSingleFile="true" CopyToOutputDirectory="PreserveNewest" CopyToPublishDirectory="PreserveNewest" Exclude="$(DefaultItemExcludes);$(DefaultExcludesInProjectFolder);$(DefaultWebContentItemExcludes)" />
<!-- Set CopyToPublishDirectory to Never for items under AppDesignerFolder ("Properties", by default) to avoid publishing launchSettings.json --> <!-- Set CopyToOutputDirectory & CopyToPublishDirectory to Never for items under AppDesignerFolder ("Properties", by default) to avoid copying launchSettings.json to the build or publish directory -->
<Content Update="$(AppDesignerFolder)\**" CopyToPublishDirectory="Never" Condition="'$(AppDesignerFolder)' != ''"/> <Content Update="$(AppDesignerFolder)\**" CopyToOutputDirectory="Never" CopyToPublishDirectory="Never" Condition="'$(AppDesignerFolder)' != ''"/>
<!-- Remove Content items from other item types (in a way that CPS understands) --> <!-- Remove Content items from other item types (in a way that CPS understands) -->
<None Remove="wwwroot\**;**\*.json;**\*.config" /> <None Remove="wwwroot\**;**\*.json;**\*.config" />

View File

@ -194,5 +194,17 @@ namespace Microsoft.AspNetCore.Razor.Design.IntegrationTests
Assert.BuildPassed(result); Assert.BuildPassed(result);
Assert.BuildOutputContainsLine(result, "UpToDateReloadFileTypes: ;.cs;.razor;.resx;"); Assert.BuildOutputContainsLine(result, "UpToDateReloadFileTypes: ;.cs;.razor;.resx;");
} }
[Fact]
[InitializeTestProject("SimpleMvc")]
public async Task IntrospectJsonContentFiles()
{
var result = await DotnetMSBuild("_IntrospectContentItems");
Assert.BuildPassed(result);
Assert.BuildOutputContainsLine(result, "Content: Properties\\launchSettings.json CopyToOutputDirectory=Never CopyToPublishDirectory=Never ExcludeFromSingleFile=true");
Assert.BuildOutputContainsLine(result, "Content: appsettings.json CopyToOutputDirectory=PreserveNewest CopyToPublishDirectory=PreserveNewest ExcludeFromSingleFile=true");
Assert.BuildOutputContainsLine(result, "Content: appsettings.Development.json CopyToOutputDirectory=PreserveNewest CopyToPublishDirectory=PreserveNewest ExcludeFromSingleFile=true");
}
} }
} }

View File

@ -42,4 +42,8 @@
<Target Name="_IntrospectUpToDateReloadFileTypes"> <Target Name="_IntrospectUpToDateReloadFileTypes">
<Message Text="UpToDateReloadFileTypes: $(UpToDateReloadFileTypes)" Importance="High" /> <Message Text="UpToDateReloadFileTypes: $(UpToDateReloadFileTypes)" Importance="High" />
</Target> </Target>
<Target Name="_IntrospectContentItems">
<Message Text="Content: %(Content.Identity) CopyToOutputDirectory=%(Content.CopyToOutputDirectory) CopyToPublishDirectory=%(Content.CopyToPublishDirectory) ExcludeFromSingleFile=%(Content.ExcludeFromSingleFile)" Importance="High" />
</Target>
</Project> </Project>