Erros de diagnóstico estranhos, tipo pré-definido Sistema… não está definido ou importado

Estou recebendo erros de diagnóstico do Roslyn ao analisar um aplicativo .NET 4.6 muito básico. Os arquivos da solução podem ser baixados de láhttps://github.com/dotnet/roslyn/files/2393288/DemoSolution.zip

A árvore de dependência fica assim:

BLL -> DB

Estou recebendo os seguintes erros de diagnóstico no projeto BLL:

A solução e os projetos são bons, mas Roslyn ainda apresenta esses erros. Talvez os erros sejam enganosos e eu precise configurar os projetos de alguma forma? Alguma idéia de como posso resolver esses erros?

Aqui está o código usado para analisar os arquivos:

var properties = new Dictionary<string, string>
                {
                    ["DesignTimeBuild"] = "true",
                    ["CheckForSystemRuntimeDependency"] = "true"
                };
                var workspace = MSBuildWorkspace.Create(properties);

                workspace.WorkspaceFailed += (sender, args) =>
                {

                };
                workspace.LoadMetadataForReferencedProjects = true;

Solution solution = workspace.OpenSolutionAsync(SolutionFilePath).Result;               
                    foreach (var p in solution.Projects)
                    {   
                        foreach (var file in p.Documents)
                        {
      var semanticModel = file.GetSemanticModelAsync().Result;

                        var mscorlib = MetadataReference.CreateFromFile(file.FilePath);
                    var compilation = CSharpCompilation.Create("MyCompilation",
                        new[] { semanticModel.SyntaxTree }, new[] { mscorlib });

                    var model = compilation.GetSemanticModel(semanticModel.SyntaxTree);
                    var declarationDiagnistics = model.Compilation.GetDeclarationDiagnostics(CancellationToken.None);
                    var parseDiagnostics = model.Compilation.GetParseDiagnostics(CancellationToken.None);
                    var allDiagnostics = model.Compilation.GetDiagnostics(CancellationToken.None);
                    var methodBodyDiagnostics = model.Compilation.GetMethodBodyDiagnostics(CancellationToken.None);

                                  }
                }

A assinatura do evento workspace.workspaceFailed resulta no seguinte erro:

O Msbuild falhou ao processar o arquivo 'MYPATH \ BLL.csproj' com a mensagem: C: \ Arquivos de Programas (x86) \ Microsoft Visual Studio \ 2017 \ Enterprise \ MSBuild \ 15.0 \ Bin \ Microsoft.Common.CurrentVersion.targets: (1656, 5): A tarefa "GetReferenceNearestTargetFrameworkTask" não pôde ser instanciada no assembly "C: \ Arquivos de Programas (x86) \ Microsoft Visual Studio \ 2017 \ Enterprise \ Common7 \ IDE \ CommonExtensions \ Microsoft \ NuGet \ NuGet.Build.Tasks.dll " Verifique se o assembly da tarefa foi criado usando a mesma versão do assembly Microsoft.Build.Framework que a instalada no seu computador e se o aplicativo host não possui um redirecionamento de ligação para o Microsoft.Build.Framework. Não foi possível converter o objeto do tipo 'NuGet.Build.Tasks.GetReferenceNearestTargetFrameworkTask' para digitar 'Microsoft.Build.Framework.ITask'. C: \ Arquivos de programas (x86) \ Microsoft Visual Studio \ 2017 \ Enterprise \ MSBuild \ 15.0 \ Bin \ Microsoft.Common.CurrentVersion.targets: (1656, 5): A tarefa "GetReferenceNearestTargetFrameworkTask" foi declarada ou usada incorretamente ou falhou durante a construção. Verifique a ortografia do nome da tarefa e do nome da montagem.

questionAnswers(1)

yourAnswerToTheQuestion