diff --git a/build/RuntimeStore.targets b/build/RuntimeStore.targets
index b99613bebf..5fc3b44466 100644
--- a/build/RuntimeStore.targets
+++ b/build/RuntimeStore.targets
@@ -176,7 +176,7 @@
@@ -185,7 +185,8 @@
+ PackageArtifacts="@(PackageArtifact)"
+ ExternalDependencies="@(ExternalDependency)">
diff --git a/build/tasks/ResolveHostingStartupPackages.cs b/build/tasks/ResolveHostingStartupPackages.cs
index 8bfc27399c..5a97097db4 100644
--- a/build/tasks/ResolveHostingStartupPackages.cs
+++ b/build/tasks/ResolveHostingStartupPackages.cs
@@ -15,6 +15,9 @@ namespace RepoTasks
[Required]
public ITaskItem[] PackageArtifacts { get; set; }
+ [Required]
+ public ITaskItem[] ExternalDependencies { get; set; }
+
[Output]
public ITaskItem[] HostingStartupArtifacts { get; set; }
@@ -22,7 +25,18 @@ namespace RepoTasks
{
// Parse input
var hostingStartupArtifacts = PackageArtifacts.Where(p => p.GetMetadata("HostingStartup") == "true");
- HostingStartupArtifacts = BuildArtifacts.Where(p => hostingStartupArtifacts.Any(h => h.GetMetadata("Identity") == p.GetMetadata("PackageId"))).ToArray();
+ var externalHostingStartupArtifacts = ExternalDependencies.Where(p => p.GetMetadata("HostingStartup") == "true");
+
+ var hostingStartups = BuildArtifacts.Where(p => hostingStartupArtifacts.Any(h => h.GetMetadata("Identity") == p.GetMetadata("PackageId")));
+
+ foreach (var externalHostingStartup in externalHostingStartupArtifacts)
+ {
+ // The parameters PackageId and Version are required for output. For external dependencies, the identity is the pacakge id.
+ externalHostingStartup.SetMetadata("PackageId", externalHostingStartup.GetMetadata("Identity"));
+ hostingStartups = hostingStartups.Append(externalHostingStartup);
+ }
+
+ HostingStartupArtifacts = hostingStartups.ToArray();
return true;
}
diff --git a/build/tools/templates/HostingStartup/HostingStartup.csproj b/build/tools/templates/HostingStartup/HostingStartup.csproj
index 5c165b8f0e..12cdf93eb1 100644
--- a/build/tools/templates/HostingStartup/HostingStartup.csproj
+++ b/build/tools/templates/HostingStartup/HostingStartup.csproj
@@ -26,6 +26,6 @@
$(DepsOutputPath)\$(HostingStartupPackageName)\shared\Microsoft.NETCore.App\$(DepsRuntimeFrameworkVersion)\$(HostingStartupPackageName).deps.json
-
+