为什么.net 4.0和.net 2.0 CLR可以存在于同一台机器上

Vin*_*lla 3 .net iis-7 .net-4.0 c#-3.0 c#-4.0

我有一个基本的疑问,我们怎样才能在同一台机器上安装两个CLR.如果这是可能的,当我引用4.0的dll并将应用程序池设置为2.0为什么我不能运行网站(我收到错误).当我们从web.config引用dll时,它意味着它在特定的4.0时搜索GAC dll可用于GAC为什么不加载(怎么没加载)..请澄清我的疑虑

Jon*_*eet 5

是的,两个CLR都可以在同一台机器上 - 事实上,.NET 4允许您同时拥有同时托管两个CLR的进程!

GAC中的不同程序集将具有不同的版本,因此如果您的引用指定了版本,则CLR将加载适当的版本.当然,你需要确保你有适当的CLR加载适当的组件; 虽然v4 CLR可以加载v2程序集(有一些限制,IIRC),但你不应该尝试从v2 CLR加载v4程序集.

至于你遇到问题的原因 - 如果没有更多的信息,这是不可能的.(只要你提出问题并且有错误,请说出错误是什么.)