使用MS Roslyn进行语法分析

时间:2013-03-03 05:57:29

标签: c# roslyn

我有一个愚蠢而又愚蠢的问题。我开始与MS Roslyn合作,我正在尝试进行演练,但直接在开始时发生了错误...

  

错误CS0117:'Roslyn.Compilers.CSharp.SyntaxTree'不包含   'ParseCompilationUnit'的定义

我不明白为什么会发生......也许你们其中一个人有同样的问题。

我的资源代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Roslyn.Compilers;
using Roslyn.Compilers.CSharp;
using Roslyn.Services;
using Roslyn.Services.CSharp;

namespace gettingstarted2
{
    class Program
    {
        static void Main(string[] args)
        {
            SyntaxTree tree = SyntaxTree.ParseCompilationUnit(
                @"using System;
                using System.Collections;
                using System.Linq;
                using System.Text;

                namespace HelloWorld
                {
                    class Program
                    {
                        static void Main(string[] args)
                        {
                            Console.WriteLine(""Hello, World!"");
                        }
                    }
                }");

            var root = (CompilationUnitSyntax)tree.GetRoot();

        }
    }
}

2 个答案:

答案 0 :(得分:5)

您所关注的演练中提到的日期是什么时候?对于9月CTP,该方法已从ParseCompilationUnit重命名为ParseText。如果您安装了以前的CTP,则在安装最新的CTP时可能无法正确更新演练。

我建议卸载并重新安装CTP或使用修复。

答案 1 :(得分:0)