6

我有一个小而愚蠢的问题。我开始与 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();

        }
    }
}
4

2 回答 2

5

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

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

于 2013-03-03T22:56:05.577 回答
0

@Anton 是舒尔,那是最新的......您可以使用 Nuget 安装 Roslyn。

Run the following command in the Package Manager Console : PM> Install-Package Roslyn

于 2013-08-30T15:26:47.637 回答