views:

256

answers:

1

We are developing ASP.NET site in VS.NET 2005. This site is will be hosted on server which has .NET 3.0 installed and in IIS, ASP.NET 2.0 would be selected under ASP.NET tab.

We would use external DLL which is being developed in VS.NET 2008 with .NET 3.0 as taraget framework. Here they are using .NET 3.0 / C# 3.0 features such as Lamda expressions.

Now, the question is,

1) If we were not using this external DLL (.NET 3.0 as taraget framework), which .NET framework version it would use for this site? Since in this case only .NET 2.0 DLLs are referenced, I think it should use 2.0 framework only.

2) In current case where we are using this external DLL (.NET 3.0 as taraget framework), will it load both framework in memory for this website or just highest version i.e. .NET framework 3.0?

3) Are there any side effects in this case because the application (website) DLL would ask loader to load .NET framework 2.0 and one of the extrenal DLL, the main application requires is in .NET 3.0. Is is possible that .NET 2.0 will be loaded first for the application but when application references external DLL, .NET 3.0 framework will be loaded?

4) Is there any difference if

  1. the external DLL developed in .NET 3.0 as taraget framework was refereced as "Add Reference" using VS.NET 2005
  2. the external DLL developed in .NET 3.0 as taraget framework was just copied into bin folder of application (website)

5) If it depends on what features are used in .NET 3.0 framework, please provide details in both cases; when those features used and those features are not used.

+1  A: 

.Net 3.0 is an extension of .Net 2.0. There is no "replacement" of the framework DLLs when you use .Net 3.0 because it is composed of the same libraries, plus some additional DLLs for the added functionality. Think of the extra .Net 3.0 DLLs as additional, external functionality that is only loaded as needed.

tvanfosson