C#4.0编译器生成的IL可以在CLR 2.0上运行吗?
发布时间:2020-12-15 08:25:43 所属栏目:百科 来源:网络整理
导读:C#4.0编译器生成的IL可以在CLR 2.0上运行吗? 为了澄清,我不是在询问VS 2010多目标(VS选择正确的编译器版本),我想知道csc.exe 4.0是否支持多目标… 解决方法 如果一切都失败了,试试吧.我刚刚在VS2010b2中测试了以下内容,编译目标2.0: using System; class P
C#4.0编译器生成的IL可以在CLR 2.0上运行吗?
为了澄清,我不是在询问VS 2010多目标(VS选择正确的编译器版本),我想知道csc.exe 4.0是否支持多目标… 解决方法
如果一切都失败了,试试吧.我刚刚在VS2010b2中测试了以下内容,编译目标2.0:
using System; class Program { static void Main() { Write(); Write(msg: "world"); Console.ReadLine(); } static void Write(string msg = "Hello") { Console.WriteLine(msg); } } 这使用了两个新的C#4.0语言功能,它们使用.NET 2.x / 3.x / CLR 2中也存在的元数据;它在我的常规(CLR 2)机器上执行正常(我的VS2010b2是一个VM).所以我总结“是的,对某些功能”.显然,如果你使用一个框架相关的功能(动态等),它就不会那么好. 编辑:重新评论;我在命令行尝试了csc,默认情况下它确实以CLR 4为目标;我会试着看看我是否可以把它作为目标CLR 2(就像VS显然可以).不幸的是,它不再包含构建输出窗口中的(伪造,顺便说一句)命令行…… 更新:一些“知情人”回来了:
果然: C:WindowsMicrosoft.NETFrameworkv4.0.21006>csc /nostdlib /reference:%SystemRo ot%microsoft.netframeworkv2.0.50727mscorlib.dll /out:c:my.exe /target:exe " C:UsersMarcDocumentsVisual Studio 2010ProjectsConsoleApplication6ConsoleA pplication6program.cs" Microsoft (R) Visual C# 2010 Compiler version 4.0.21006.1 Copyright (C) Microsoft Corporation. All rights reserved. 工作正常(exe工作在我的非4.0机器上).图片来源:Kevin Pilch-Bisson (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |