diff --git a/build/artifacts.props b/build/artifacts.props
index 6c1bad7f21..9fd0624246 100644
--- a/build/artifacts.props
+++ b/build/artifacts.props
@@ -29,7 +29,7 @@
-
+
diff --git a/build/repo.targets b/build/repo.targets
index df1859dd07..bd7246818c 100644
--- a/build/repo.targets
+++ b/build/repo.targets
@@ -93,6 +93,7 @@
<_LineupPackages Include="@(ExternalDependency)" />
<_LineupPackages Include="%(ArtifactInfo.PackageId)" Version="%(ArtifactInfo.Version)" Condition=" '%(ArtifactInfo.ArtifactType)' == 'NuGetPackage' " />
<_LineupPackages Include="Microsoft.AspNetCore.All" Version="$(PackageVersion)" />
+ <_LineupPackages Include="Microsoft.AspNetCore.App" Version="$(PackageVersion)" />
<_RestoreSources Include="$(DotNetAdditionalRestoreSources)" Condition="'$(DotNetAdditionalRestoreSources)' != ''" />
<_RestoreSources Include="$(DependencyPackageDir)" Condition="'$(DependencyPackageDir)' != '' AND Exists('$(DependencyPackageDir)')" />
diff --git a/build/tasks/AddArchiveReferences.cs b/build/tasks/AddArchiveReferences.cs
index 063ee5d68d..a912e965f7 100644
--- a/build/tasks/AddArchiveReferences.cs
+++ b/build/tasks/AddArchiveReferences.cs
@@ -55,23 +55,27 @@ namespace RepoTasks
string packageVersion;
- if(string.Equals(packageName, "Microsoft.AspNetCore.All", StringComparison.OrdinalIgnoreCase))
+ if (string.Equals(packageName, "Microsoft.AspNetCore.All", StringComparison.OrdinalIgnoreCase)
+ || string.Equals(packageName, "Microsoft.AspNetCore.App", StringComparison.OrdinalIgnoreCase))
{
packageVersion = MetaPackageVersion;
}
else
{
- try
- {
- packageVersion = buildArtifacts
- .Single(p => string.Equals(p.PackageInfo.Id, packageName, StringComparison.OrdinalIgnoreCase))
- .PackageInfo.Version.ToString();
- }
- catch (InvalidOperationException)
+ var packageVersionCandidates = buildArtifacts.Where(p => string.Equals(p.PackageInfo.Id, packageName, StringComparison.OrdinalIgnoreCase));
+
+ if (!packageVersionCandidates.Any())
{
Log.LogError($"Missing Package: {packageName} from artifacts archive.");
- throw;
+ return false;
}
+ else if (packageVersionCandidates.Count() > 1)
+ {
+ Log.LogError($"Duplicate Packages: {packageName} from artifacts archive.");
+ return false;
+ }
+
+ packageVersion = packageVersionCandidates.Single().PackageInfo.Version.ToString();
}
Log.LogMessage(MessageImportance.High, $" - Package: {packageName} Version: {packageVersion}");
@@ -99,18 +103,20 @@ namespace RepoTasks
{
var packageName = package.ItemSpec;
- string packageVersion;
+ var packageVersionCandidates = buildArtifacts.Where(p => string.Equals(p.PackageInfo.Id, packageName, StringComparison.OrdinalIgnoreCase));
- try{
- packageVersion = buildArtifacts
- .Single(p => string.Equals(p.PackageInfo.Id, packageName, StringComparison.OrdinalIgnoreCase))
- .PackageInfo.Version.ToString();
- }
- catch(InvalidOperationException)
+ if (!packageVersionCandidates.Any())
{
Log.LogError($"Missing Package: {packageName} from tools archive.");
- throw;
+ return false;
}
+ else if (packageVersionCandidates.Count() > 1)
+ {
+ Log.LogError($"Duplicate Packages: {packageName} from tools archive.");
+ return false;
+ }
+
+ var packageVersion = packageVersionCandidates.Single().PackageInfo.Version.ToString();
Log.LogMessage(MessageImportance.High, $" - Tool: {packageName} Version: {packageVersion}");