【发布时间】:2009-08-09 02:12:25
【问题描述】:
我们正在 VS.NET 2005 中开发 ASP.NET 站点。该站点将托管在安装了 .NET 3.0 的服务器上,在 IIS 中,将在 ASP.NET 选项卡下选择 ASP.NET 2.0。
我们将使用在 VS.NET 2008 中以 .NET 3.0 作为目标框架开发的外部 DLL。他们在这里使用 .NET 3.0 / C# 3.0 功能,例如 Lamda 表达式。
现在的问题是,
1) 如果我们不使用这个外部 DLL(.NET 3.0 作为目标框架),它将用于这个站点的哪个 .NET 框架版本?由于在这种情况下只引用了 .NET 2.0 DLL,我认为它应该只使用 2.0 框架。
2) 在当前我们使用这个外部 DLL(.NET 3.0 作为目标框架)的情况下,它会将两个框架都加载到这个网站的内存中还是只加载最高版本,即 .NET 框架 3.0?
3) 在这种情况下是否有任何副作用,因为应用程序(网站)DLL 会要求加载程序加载 .NET 框架 2.0 和外部 DLL 之一,主要应用程序需要在 .NET 3.0 中。是否有可能会先为应用程序加载 .NET 2.0,但当应用程序引用外部 DLL 时,会加载 .NET 3.0 框架?
4) 如果有什么区别
- 在 .NET 3.0 中作为 taraget 框架开发的外部 DLL 在 VS.NET 2005 中被称为“添加引用”
- 在 .NET 3.0 中作为 taraget 框架开发的外部 DLL 刚刚复制到应用程序(网站)的 bin 文件夹中
5) 如果取决于 .NET 3.0 框架中使用了哪些功能,请提供两种情况的详细信息;什么时候使用这些功能,什么时候不使用这些功能。
【问题讨论】:
标签: asp.net .net-2.0 frameworks .net-3.0