【问题标题】:How to use Roslyn Code Analysis API with MVC 6 projects如何在 MVC 6 项目中使用 Roslyn 代码分析 API
【发布时间】: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


【解决方案1】:

您需要使用DNX Workspace
添加对该包的引用,然后创建一个new ProjectJsonWorkspace(jsonPath)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-29
    • 2020-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多