我正在尝试使用]打开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.
不幸的是,崩溃的方法是内部的,我无法干预或查看导致此错误的原因。
我在做什么错?
我正在尝试使用Solution solutionToAnalyze = buildWorkspace.OpenSolutionAsync(pathSolution).Result打开C#解决方案文件;并且我得到消息,我在路径中包含非法字符。 ...
您是否尝试过在路径前面加上“ @”?像这样:@“ C:\ AppsDemo \ CSharp \ Duplicates \ Duplicates.sln”因此,您不要用“ \”弄乱您的路径。