场景:
我在客户机上安装了VS2010 (C# 4编译器),目标是3.5。
我正在开发ASP.NET应用程序。我在一个类文件中使用了可选参数(支持C#4),并编译了代码,看起来一切正常。
稍后,在运行时发现的一个问题上,一个旧的(我相信是经典的) ASPX正在使用这个函数。没有一个函数只接受x个参数,其中x比可选参数小1,这就是运行时错误。
这是否意味着普通类等使用客户端的C#编译器,而视图(aspx)等使用服务器上的编译器-因此如果在视图/表单文件中使用C# 4会导致问题?
发布于 2011-06-17 00:33:27
我相信这与aspx页面在第一次加载时由IIS (重新?)编译,而不是在Visual Studio中编译的事实有关。这允许在不重新编译的情况下即时更新它们,但是由于它们是由IIS编译的,因此带来了您所看到的复杂性。
我不知道有什么方法可以让IIS使用C#4编译器,但是可以编译到.NET 3.5,所以看起来你唯一的选择是:
https://stackoverflow.com/questions/6375240
复制相似问题