From 82e62cb34feda3e2aae24b8e5905e176293b8101 Mon Sep 17 00:00:00 2001 From: Pranav K Date: Wed, 16 Oct 2019 14:34:59 -0700 Subject: [PATCH] Add a flag to prevent config, json files from being copied to the build output directory (dotnet/aspnetcore-tooling#1240) Fixes https://github.com/aspnet/AspNetCore/issues/14017\n\nCommit migrated from https://github.com/dotnet/aspnetcore-tooling/commit/8a99b917996dcc42c4bebd654418a6b1267e8f53 --- .../Sdk/Sdk.Razor.StaticAssets.ProjectSystem.props | 9 +++++++-- .../IntegrationTests/BuildIntrospectionTest.cs | 14 ++++++++++++++ 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/src/Razor/Microsoft.NET.Sdk.Razor/src/Sdk/Sdk.Razor.StaticAssets.ProjectSystem.props b/src/Razor/Microsoft.NET.Sdk.Razor/src/Sdk/Sdk.Razor.StaticAssets.ProjectSystem.props index f54b74ebf4..beb01baa38 100644 --- a/src/Razor/Microsoft.NET.Sdk.Razor/src/Sdk/Sdk.Razor.StaticAssets.ProjectSystem.props +++ b/src/Razor/Microsoft.NET.Sdk.Razor/src/Sdk/Sdk.Razor.StaticAssets.ProjectSystem.props @@ -28,8 +28,13 @@ Copyright (c) .NET Foundation. All rights reserved. - - + + + + + + + diff --git a/src/Razor/Microsoft.NET.Sdk.Razor/test/IntegrationTests/BuildIntrospectionTest.cs b/src/Razor/Microsoft.NET.Sdk.Razor/test/IntegrationTests/BuildIntrospectionTest.cs index 2c86bf957c..fcb33acbf2 100644 --- a/src/Razor/Microsoft.NET.Sdk.Razor/test/IntegrationTests/BuildIntrospectionTest.cs +++ b/src/Razor/Microsoft.NET.Sdk.Razor/test/IntegrationTests/BuildIntrospectionTest.cs @@ -207,5 +207,19 @@ namespace Microsoft.AspNetCore.Razor.Design.IntegrationTests 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"); } + + [Fact] + [InitializeTestProject("SimpleMvc")] + public async Task IntrospectJsonContentFiles_WithExcludeConfigFilesFromBuildOutputSet() + { + // Verifies that the fix for https://github.com/aspnet/AspNetCore/issues/14017 works. + var result = await DotnetMSBuild("_IntrospectContentItems", "/p:ExcludeConfigFilesFromBuildOutput=true"); + + Assert.BuildPassed(result); + var launchSettingsPath = Path.Combine("Properties", "launchSettings.json"); + Assert.BuildOutputContainsLine(result, $"Content: {launchSettingsPath} CopyToOutputDirectory= CopyToPublishDirectory=Never ExcludeFromSingleFile=true"); + Assert.BuildOutputContainsLine(result, "Content: appsettings.json CopyToOutputDirectory= CopyToPublishDirectory=PreserveNewest ExcludeFromSingleFile=true"); + Assert.BuildOutputContainsLine(result, "Content: appsettings.Development.json CopyToOutputDirectory= CopyToPublishDirectory=PreserveNewest ExcludeFromSingleFile=true"); + } } }