diff --git a/src/Razor/Microsoft.NET.Sdk.Razor/src/build/netstandard2.0/Microsoft.NET.Sdk.Razor.StaticWebAssets.targets b/src/Razor/Microsoft.NET.Sdk.Razor/src/build/netstandard2.0/Microsoft.NET.Sdk.Razor.StaticWebAssets.targets index 693b0d87dd..677ed6256a 100644 --- a/src/Razor/Microsoft.NET.Sdk.Razor/src/build/netstandard2.0/Microsoft.NET.Sdk.Razor.StaticWebAssets.targets +++ b/src/Razor/Microsoft.NET.Sdk.Razor/src/build/netstandard2.0/Microsoft.NET.Sdk.Razor.StaticWebAssets.targets @@ -54,23 +54,19 @@ Copyright (c) .NET Foundation. All rights reserved. $(GetCurrentProjectStaticWebAssetsDependsOn) - + + $(GetCopyToOutputDirectoryItemsDependsOn); GenerateStaticWebAssetsManifest; - $(AssignTargetPathsDependsOn) - + ResolveCurrentProjectStaticWebAssetsInputs; - $(ResolveStaticWebAssetsInputsDependsOn) - - - ResolveReferencedProjectsStaticWebAssets; $(ResolveStaticWebAssetsInputsDependsOn) - ResolveReferences; + PrepareProjectReferences; $(ResolveReferencedProjectsStaticWebAssetsDependsOn) @@ -187,14 +183,14 @@ Copyright (c) .NET Foundation. All rights reserved. - + Condition="'@(_ExternalStaticWebAsset->Count())' != '0'"> + $(TargetName).StaticWebAssets.xml PreserveNewest Never - + diff --git a/src/Razor/Microsoft.NET.Sdk.Razor/test/IntegrationTests/StaticWebAssetsIntegrationTest.cs b/src/Razor/Microsoft.NET.Sdk.Razor/test/IntegrationTests/StaticWebAssetsIntegrationTest.cs index fa747f98b3..cbaf6d7633 100644 --- a/src/Razor/Microsoft.NET.Sdk.Razor/test/IntegrationTests/StaticWebAssetsIntegrationTest.cs +++ b/src/Razor/Microsoft.NET.Sdk.Razor/test/IntegrationTests/StaticWebAssetsIntegrationTest.cs @@ -129,6 +129,26 @@ namespace Microsoft.AspNetCore.Razor.Design.IntegrationTests Assert.FileExists(publish, PublishOutputPath, Path.Combine("wwwroot", "_content", "PackageLibraryTransitiveDependency", "js", "pkg-transitive-dep.js")); } + [Fact] + [InitializeTestProject("AppWithPackageAndP2PReference", additionalProjects: new[] { "ClassLibrary", "ClassLibrary2" })] + public async Task Publish_NoBuild_CopiesStaticWebAssetsToDestinationFolder() + { + var build = await DotnetMSBuild("Build", "/restore"); + + Assert.BuildPassed(build); + + var publish = await DotnetMSBuild("Publish", "/p:NoBuild=true"); + + Assert.BuildPassed(publish); + + Assert.FileExists(publish, PublishOutputPath, Path.Combine("wwwroot", "_content", "ClassLibrary", "js", "project-transitive-dep.js")); + Assert.FileExists(publish, PublishOutputPath, Path.Combine("wwwroot", "_content", "ClassLibrary", "js", "project-transitive-dep.v4.js")); + Assert.FileExists(publish, PublishOutputPath, Path.Combine("wwwroot", "_content", "ClassLibrary2", "css", "site.css")); + Assert.FileExists(publish, PublishOutputPath, Path.Combine("wwwroot", "_content", "ClassLibrary2", "js", "project-direct-dep.js")); + Assert.FileExists(publish, PublishOutputPath, Path.Combine("wwwroot", "_content", "PackageLibraryDirectDependency", "css", "site.css")); + Assert.FileExists(publish, PublishOutputPath, Path.Combine("wwwroot", "_content", "PackageLibraryDirectDependency", "js", "pkg-direct-dep.js")); + Assert.FileExists(publish, PublishOutputPath, Path.Combine("wwwroot", "_content", "PackageLibraryTransitiveDependency", "js", "pkg-transitive-dep.js")); + } [Fact] [InitializeTestProject("SimpleMvc")]