我们正在VS.NET 2005中开发ASP.NET站点。该站点将托管在安装了.NET 3.0的服务器上,在IIS中,将在ASP.NET选项卡下选择ASP.NET 2.0。
我们将使用VS.NET 2008中使用.NET 3.0开发的外部DLL作为taraget框架。在这里,他们使用的是.NET 3.0 / C#3.0功能,例如Lamda表达式。
现在,问题是,
1)如果我们没有使用这个外部DLL(.NET 3.0作为taraget框架),它将用于此站点的.NET框架版本?由于在这种情况下只引用了.NET 2.0 DLL,我认为它应该只使用2.0框架。
2)在我们使用这个外部DLL(.NET 3.0作为taraget框架)的当前情况下,它会在本网站的内存中加载两个框架,还是只加载最高版本,即.NET framework 3.0?
3)在这种情况下是否有任何副作用,因为应用程序(网站)DLL会要求加载器加载.NET framework 2.0和一个extrenal DLL,主要应用程序需要在.NET 3.0中。是否有可能首先为应用程序加载.NET 2.0,但是当应用程序引用外部DLL时,将加载.NET 3.0框架?
4)如果
有什么不同5)如果它取决于.NET 3.0框架中使用的功能,请在两种情况下提供详细信息;当使用这些功能和不使用这些功能时。
答案 0 :(得分:1)
.Net 3.0是.Net 2.0的扩展。当您使用.Net 3.0时,框架DLL没有“替换”,因为它由相同的库组成,另外还有一些额外的DLL用于添加功能。可以将额外的.Net 3.0 DLL视为仅根据需要加载的附加外部功能。