Skip to content

Commit d6cfec6

Browse files
committed
skip projects that don't support workloads during workload restore
1 parent f5b2382 commit d6cfec6

File tree

1 file changed

+11
-5
lines changed

1 file changed

+11
-5
lines changed

src/Cli/dotnet/commands/dotnet-workload/restore/WorkloadRestoreCommand.cs

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -44,23 +44,29 @@ public override int Execute()
4444
return 0;
4545
}
4646

47+
private static string GetRequiredWorkloadsTargetName = "_GetRequiredWorkloads";
48+
4749
private List<WorkloadId> RunTargetToGetWorkloadIds(IEnumerable<string> allProjects)
4850
{
4951
var globalProperties = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase)
5052
{
5153
{"SkipResolvePackageAssets", "true"}
5254
};
5355

56+
5457
var allWorkloadId = new List<WorkloadId>();
5558
foreach (string projectFile in allProjects)
5659
{
5760
var project = new ProjectInstance(projectFile, globalProperties, null);
61+
if (!project.Targets.ContainsKey(GetRequiredWorkloadsTargetName))
62+
{
63+
continue;
64+
}
5865

59-
bool buildResult = project.Build(new[] { "_GetRequiredWorkloads" },
60-
loggers: new ILogger[]
61-
{
66+
bool buildResult = project.Build([GetRequiredWorkloadsTargetName],
67+
loggers: [
6268
new ConsoleLogger(Verbosity.ToLoggerVerbosity())
63-
},
69+
],
6470
remoteLoggers: Enumerable.Empty<ForwardingLoggerRecord>(),
6571
targetOutputs: out var targetOutputs);
6672

@@ -73,7 +79,7 @@ private List<WorkloadId> RunTargetToGetWorkloadIds(IEnumerable<string> allProjec
7379
isUserError: false);
7480
}
7581

76-
var targetResult = targetOutputs["_GetRequiredWorkloads"];
82+
var targetResult = targetOutputs[GetRequiredWorkloadsTargetName];
7783
allWorkloadId.AddRange(targetResult.Items.Select(item => new WorkloadId(item.ItemSpec)));
7884
}
7985

0 commit comments

Comments
 (0)