C# Net运行时编译器是否支持C3.0?

C# Net运行时编译器是否支持C3.0?,c#,.net,C#,.net,运行时编译器似乎不支持与命令行编译器相同的语言,因此,如果您想使用lambda表达式、扩展方法或LINQ,那么您就陷入了困境 这里有更多的细节: 这是正确的还是有解决办法?当然,除了生成命令行编译器之外。我还没有尝试过,但听起来很疯狂 在将来,这不会成为问题,因为.NET团队将把C编译器作为服务提供,这意味着您可以在代码中使用真正的C编译器。请看这段视频: 这家伙的博客似乎有答案 看起来工厂默认将实例返回到2.0 这似乎是一个相当疯狂的技术。Paul Graham在某个地方哭了。我一直在使用它,

运行时编译器似乎不支持与命令行编译器相同的语言,因此,如果您想使用lambda表达式、扩展方法或LINQ,那么您就陷入了困境

这里有更多的细节:


这是正确的还是有解决办法?当然,除了生成命令行编译器之外。

我还没有尝试过,但听起来很疯狂

在将来,这不会成为问题,因为.NET团队将把C编译器作为服务提供,这意味着您可以在代码中使用真正的C编译器。请看这段视频:


这家伙的博客似乎有答案

看起来工厂默认将实例返回到2.0


这似乎是一个相当疯狂的技术。Paul Graham在某个地方哭了。

我一直在使用它,在使用.Net 3.5编译时,它似乎起到了作用

CodeDomProvider provider = new CSharpCodeProvider(new Dictionary<string, string> { { "CompilerVersion", "v3.5" } });

请参阅以下文件:

providerOptions的值为 从 配置文件中的元素。你 可以识别的版本 您要使用的CSharpCodeProvider 指定 元素,提供编译器版本 作为选项名称,并提供 版本号,例如v3.5 作为选项值。你必须先于 带有小写字母的版本号 五,


为什么生成命令行编译器不是一个选项?运行时编译器的有效解决方案似乎不起作用。客户端必须安装命令行工具,我们的软件才能工作。这对客户端来说是一个负担,也是一个配置难题,但如果没有其他选择,我们将不得不这么做。