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")]