【发布时间】:2015-09-21 13:52:48
【问题描述】:
我打算在 MVC 6 项目中使用新的 Roslyn 代码分析 API。
但是,当我运行这段代码时:
string pathToSolution = @"..\..\..\WebApplicationComplex.sln";
const string projectName = "RoslynWebAPIProject";
MSBuildWorkspace workspace = MSBuildWorkspace.Create();
Solution solutionToAnalyze = workspace.OpenSolutionAsync(pathToSolution).Result;
Project sampleProjectToAnalyze = solutionToAnalyze.Projects.Where((proj) => proj.Name == projectName).FirstOrDefault();
Compilation sampleToAnalyzeCompilation = sampleProjectToAnalyze.GetCompilationAsync().Result;
我只得到了分析器项目,没有得到 MVC 6 项目,所以sampleProjectToAnalyze 仍然为空。
我应该如何分析这种类型的项目?
【问题讨论】:
-
DNX 项目不使用 MSBuild,因此无法使用。
-
@SLaks 那我还应该用什么?
-
您可能需要来自 DNS API 的某种 DNS 项目加载器,但我不确定。
-
FWIW 跟踪此问题:github.com/dotnet/roslyn/issues/3824
标签: c# roslyn roslyn-code-analysis