我有一个简单的代码,我尝试编译对飞:如何即时编译C#7代码?
namespace A
{
class Test
{
public static void Test()
{
int.TryParse("12", out int result);
}
}
}
通常我使用CSharpCodeProvider
或CodeDomProvider
。不幸的是,过渡到C#6/C#7,我得到以下错误:
error CS1644: Feature `declaration expression' cannot be used because it is not part of the C# 6.0 language specification
整个球场的代码确实包含C#7特点和他们编得很好,使用的MSBuild/xbuild。
我明白这个错误,但我不知道是否有其他方法来编译这段代码?
重要声明 - 我在Mono上运行它,但是我现在没有选择尝试.Net。这可能是单声道问题,但似乎是通用的。
https://www.nuget.org/packages/Microsoft.CSharp/ –
@HansPassant该软件包如何相关? “CSharpCodeProvider”位于“Microsoft.CSharp”*命名空间*中,与“Microsoft.CSharp”*包无关。 – svick
你正在使用System.CodeDom,它没有办法指定一个更新的C#或CLR版本,它停留在版本4上.Roslyn取而代之。 –