Итак, у меня есть такой код:
Код: Выделить всё
WriteLine("Hello, World!");
var pl = new ProjectsLister();
pl.run();
//updateTargetFramework(pl);
//print(pl.findLooseProjects(), (i, p) => $"Loose project: {p} in {p.solution}");
var skipped = new List();
foreach (var tp in pl.all) {
if (tp.Sdk != null || tp.solution != "CADM") continue;
WriteLine("Non SDK project: " + tp);
if (tp.targetFrameworks.Count > 1) {
skipped.Add((tp, "The project targets multiple frameworks which is not supported by `upgrade-assistant` (I assume)."));
continue;
}
Debugger.Break();
//var up = await enter($@"try-convert -p ""{tp.path}""");
var up = await enter($@"upgrade-assistant upgrade ""{tp.path}""" +
" -o feature.sdkstyle" +
" -o Inplace" +
" --non-interactive" +
$" -f {tp.targetFrameworks.toSdk()}"
);
}
Код: Выделить всё
Hello, World!
Non SDK project: AppStarting.csproj
upgrade-assistant upgrade "..." -o feature.sdkstyle -o Inplace --non-interactive -f net48
Initializing and loading extensions...
Determining project traits...
Unknown target framework.
PS. Я только что устал https://github.com/hvanbakel/CsprojToVs2017, и это работает, но помощник по обновлению дает гораздо более чистые результаты, поэтому я не могу его проглотить...