我正在尝试在运行时从文本编译一个类。我的问题是我的类在函数 (AllLines) 中使用了 valueTupe,当我收到错误“C:\xxxx.cs(19,28): error CS0570: 'BaseClass.AllLines' is not supported by the language”时使用此代码
CodeDomProvider objCodeCompiler = new Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider();
CompilerParameters objCompilerParameters = new CompilerParameters();
objCompilerParameters.ReferencedAssemblies.Add("mscorlib.dll");
objCompilerParameters.ReferencedAssemblies.Add("System.IO.dll");
objCompilerParameters.ReferencedAssemblies.Add("System.Linq.dll");
CompilerResults objCompileResults = objCodeCompiler.CompileAssemblyFromFile(objCompilerParameters, filename);
编辑:
文本文件如下所示:
using System;
using System.Collections.Generic;
using System.Linq;
namespace MyNamespace
{
public abstract class BaseClass
{
public List<(int LineNumber, string Value)> AllLines
{
...
}
}
}
我正在使用 Microsoft.CodeDom.Providers.DotNetCompilerPlatform v2.0.0.0,Microsoft (R) Visual C# Compiler version 1.0.0.50618
不确定这是否是 roslyn 的实际版本。