我有一些DLL,内部使用.net 3.5会更容易(利用Linq等).我想在目前运行asp.net 2.0的asp.net网站上使用这些DLL.
这种情况可能吗?有没有任何限制或陷阱(例如asp.net不会调用返回.net 3.5对象的方法,如IQueryable)?
注意:当然,.net 3.5将安装在服务器上.
为了扩展foosnazzy的说法,.NET 3.5(SP1)只是带有一些新程序集的.NET 2.0 SP2.不在网站上安装它的唯一原因是,如果该网站不能与.NET 2.0 SP2一起运行.
这与以前的方式非常不同 - 在.NET 1.0网站上安装.NET 1.1我负责打破网站,即使网站没有使用1.1 - 我已经安装了1.1所以我可以使用特定的工具.从.NET 1.1升级到.NET 2.0是一个更糟糕的噩梦.
但微软从中吸取了教训.2.0 .NET 3.5 SP1中的.NET版本都使用.NET 2.0公共语言运行时(CLR).实际上,安装了3.5的人经常会惊讶地看到IIS设置,并看到他们的网站仍显示为运行.NET 2.0.但它是完全相同的.NET 2.0,只需应用两个服务包.任何不使用新程序集的站点都不会受到影响(超出了Service Pack的作用范围).
为了进一步重申所说的内容 - C#3.0功能独立于框架.例如,您可以在纯.NET 2.0代码中使用匿名类型和lambdas.你不能做的是使用LINQ,因为这需要.NET 3.5中的新程序集.