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 a200ec63ab..1ed75f2965 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 bc8b17d705..3120da0be1 100644 --- a/src/Razor/Microsoft.NET.Sdk.Razor/test/IntegrationTests/StaticWebAssetsIntegrationTest.cs +++ b/src/Razor/Microsoft.NET.Sdk.Razor/test/IntegrationTests/StaticWebAssetsIntegrationTest.cs @@ -104,6 +104,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")]