OpenSolutionAsyn c аварийно завершает работу с «Недопустимые символы в пути», хотя путь допустим - PullRequest
0 голосов
/ 29 января 2020

Я пытаюсь открыть файл решения C# с помощью

    Solution solutionToAnalyze = buildWorkspace.OpenSolutionAsync(pathSolution).Result;

и получаю сообщение о том, что в пути указаны недопустимые символы.

Если я напишу путь к Консоль показывает

C: \ AppsDemo \ CSharp \ Duplicates \ Duplicates.sln

, и я не вижу запрещенных символов. Это выглядит прекрасно для меня.

Полная отладочная информация такова:

    This exception was originally thrown at this call stack:
    System.IO.Path.LegacyNormalizePath(string, bool, int, bool)
    System.IO.Path.NormalizePath(string, bool, int, bool)
    System.IO.Path.GetFullPathInternal(string)
    Microsoft.CodeAnalysis.MSBuild.ProjectFile.GetAbsolutePath(string)
    Microsoft.CodeAnalysis.MSBuild.ProjectFile.GetOutputDirectory()
    Microsoft.CodeAnalysis.CSharp.CSharpProjectFileLoader.CSharpProjectFile.CSharpCompilerInputs.CSharpCompilerInputs(Microsoft.CodeAnalysis.CSharp.CSharpProjectFileLoader.CSharpProjectFile)
    Microsoft.CodeAnalysis.CSharp.CSharpProjectFileLoader.CSharpProjectFile.GetProjectFileInfoAsync(System.Threading.CancellationToken)
    System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Threading.Tasks.Task)
    System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task)
    System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(System.Threading.Tasks.Task)
    ...
    [Call Stack Truncated]
Inner Exception 1:
ArgumentException: Illegal characters in path.

К сожалению, методы, при которых происходит сбой, являются внутренними, и я не могу вмешаться или посмотреть, что является причиной ошибки.

Что я делаю не так?

1 Ответ

0 голосов
/ 03 февраля 2020

Вы пытались поставить "@" перед дорожкой? как это: @ "C: \ AppsDemo \ CSharp \ Duplicates \ Duplicates.sln", чтобы вы не путали свой путь с вашим "\".

...