C# 无法使用代码分析器类打开解决方案
我正试图用微软提供的软件包构建一个简单的静态代码分析程序。所以我想先打开解决方案,然后通过代码打开项目,然后获取所有文档并用我的方法进行分析 这是我的方法,我正在其他地方调用,我仔细检查了解决方案路径是否正确。您可以看到我使用的名称空间C# 无法使用代码分析器类打开解决方案,c#,roslyn,roslyn-code-analysis,C#,Roslyn,Roslyn Code Analysis,我正试图用微软提供的软件包构建一个简单的静态代码分析程序。所以我想先打开解决方案,然后通过代码打开项目,然后获取所有文档并用我的方法进行分析 这是我的方法,我正在其他地方调用,我仔细检查了解决方案路径是否正确。您可以看到我使用的名称空间 using Microsoft.CodeAnalysis.CSharp; using Microsoft.CodeAnalysis.CSharp.Syntax; using Microsoft.CodeAnalysis.Formatting; using Mic
using Microsoft.CodeAnalysis.CSharp;
using Microsoft.CodeAnalysis.CSharp.Syntax;
using Microsoft.CodeAnalysis.Formatting;
using Microsoft.CodeAnalysis.MSBuild;
public class Fixer
{
public Fixer(string solutionPath)
{
using (var workspace = MSBuildWorkspace.Create())
{
_solution = workspace.OpenSolutionAsync(_solutionPath).Result;
}
}
}
在那之后我想
public IEnumerable<Document> GetDocuments(Solution solution)
{
foreach (var projectId in solution.ProjectIds)
{
var project = solution.GetProject(projectId);
foreach (Document document in project.Documents)
{
if (document.SupportsSyntaxTree)
yield return document;
}
}
}
public IEnumerable<MethodDeclarationSyntax> GetMethods(IEnumerable<Document> documents)
{
return documents.SelectMany(p => p.GetSyntaxRootAsync().Result.DescendantNodes().OfType<MethodDeclarationSyntax>());
}
对于该解决方案中的所有项目
我试图更新我使用的nuget软件包。什么也没发生。主要问题是什么?
我们将感谢您的指导
谢谢。您是否安装了Microsoft.CodeAnalysis.CSharp.Workspaces软件包?是的,我安装了该软件包您的项目的目标框架是什么?我使用.net 4.6.2处理所有类型的项目。
{[Failure] Cannot open project '.\RunningDiagnostics.csproj' because the language 'C#' is not supported.}