当前位置:  开发笔记 > 编程语言 > 正文

C#2.0代码消耗使用C#3.0编译的程序集

如何解决《C#2.0代码消耗使用C#3.0编译的程序集》经验,为你挑选了1个好方法。

这应该是好的,因为CLR实际上没有改变?

运行C#2.0代码的盒子已经有.NET 3.5的推出.

背景是我们有一个Windows服务(使用VS2005构建的.NET 2.0 exe,部署到~150个服务器),它动态加载程序集(几乎像插件)来完成所要求的各种工作项.每当我们推出新版本的总线逻辑时,我们只需将程序集放在FTP服务器上,Windows服务就知道如何检查,获取和存储最新版本.现在使用VS2008和目标.NET 2.0构建新程序集,我们知道它可以正常工作.但是,我们希望开始利用LINQ等C#3.0语言功能,并针对.NET 3.5定位程序集,而无需构建和部署新版本的Windows服务.



1> Keith..:

C#3和.Net 3.5添加了新的程序集,但IL保持不变.

这意味着使用.Net 2程序集,您可以编译和使用C#3,只要您不使用Linq或其他任何引用System.Linq或System.Core的内容.

yield,, varlambda语法,anon类型和初始化程序都是编译器的聪明之处.它们产生的IL是交叉兼容的.

如果你可以引用3.5的新程序集,它应该都可以正常工作.

没有新版本的ASP.Net - 它应该仍然是2.0.50727 - 但你仍然应该编译为3.5

推荐阅读
牛尾巴2010
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有