Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
HomeAnnouncementsFree MagazinesWhite PapersSubmit Content
Discussion GroupsASP.NETWindows FormsLanguages.NET FrameworkVisual Studio.NET
Articles.NET FrameworkASP.NETToolsWindows Forms
.NET DirectoryOpen Source ProjectsUser GroupsWeb Resources
Related Topics
Visual Basic 6SQL ServerMS AccessOther DB ProductsMS Server ProductsMore Topics ...

.NET Forum / ASP.NET / General / October 2007

Tip: Looking for answers? Try searching our database.

GAC'd library not loading due to different versions of .NET

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
downloads4birdman@gmail.com - 31 Oct 2007 15:32 GMT
Trick Or Treat!

I have a web server setup to host both .NET 1.1 and .NET 2.0 web
applications. The applications are isolated by virutal directories
(VirtDir1 points to C:\Inetpub\wwwroot\app1, VirtDir2 points to C:
\Inetpub\wwwroot\app2, etc). The ASP.NET property for each virtual
directory is set to 1.1.4322 or 2.0.5xxxx based on which version the
application was build with.
Everything works fine...there is peace and harmony between
applications until....

I created using (VS 2005 - .NET 2.0) an HTTP Module in a .dll. Once
created, I created a strong name and associated the .dll with it. On
the server, I installed the .dll in the GAC. I then added a web.config
file in the website root directory (c:\Inetpub\wwwroot) which
identifies the HTTP Module, so that all .NET applications will
automatically use the module. My .NET 2.0 applications pick up the
module correctly and I get the expected the result. The 1.1
applications do not work correctly - I am given the error message

An error occurred during the processing of a configuration file
required to service this request. Please review the specific error
details below and modify your configuration file appropriately.

and, to paraphrase, it tells me that the dll (assembly)  (or one of
its assemblies) holding the module cannot be found.

It appears that since the application was built using the 1.1
libraries, only .NET 1.1 libraries will be included in resolving
external assembly references. Is this assumption correct? If so, how
do I remedy this?

Thanks in advance

DotNet Dude
bruce barker - 31 Oct 2007 16:38 GMT
net applications are loaded into an appdomain. only one version of an
assembly can loaded at time. if the appdomain is running 1.1 vm, an
attempt to load a 2.0 assembly will fail, as it has dependencies on
routines n the 2.0 clr.

you have two options.

1) create your httpmodule in 1.1 for it can be hosted by either enviroment.

2) convert all vdirs to 2.0. in most cases 2.0 vdirs can run 1.1
assemblies without a recompile.

-- bruce (sqlwork.com)

> Trick Or Treat!
>
[quoted text clipped - 31 lines]
>
> DotNet Dude
DotNet Dude - 31 Oct 2007 17:00 GMT
> net applications are loaded into an appdomain. only one version of an
> assembly can loaded at time. if the appdomain is running 1.1 vm, an
[quoted text clipped - 48 lines]
>
> - Show quoted text -

Bruce -

Thanks for the response.

I tried solution #2 and it seemed to work.

For solution #1, if I re-create the HttpModule in version 1.1, won't I
have the same issues with my 2.0 applications - since they would be a
"2.0 app domain" and wouldn't be able to see the 1.1 library. Or, do
you mean have 1.1 and 2.0 versions of the HttpModule co-exist in the
GAC. Would I need a different strong name for each version of the
library or  not?
Peter Bromberg [C# MVP] - 31 Oct 2007 19:41 GMT
As Bruce indicated, 1.1 assemblies normally load and are executed in the 2.0
App Pool with no issues.
-- Peter
Recursion: see Recursion
site:  http://www.eggheadcafe.com
unBlog:  http://petesbloggerama.blogspot.com
BlogMetaFinder:    http://www.blogmetafinder.com

> For solution #1, if I re-create the HttpModule in version 1.1, won't I
> have the same issues with my 2.0 applications - since they would be a
> "2.0 app domain" and wouldn't be able to see the 1.1 library. Or, do
> you mean have 1.1 and 2.0 versions of the HttpModule co-exist in the
> GAC. Would I need a different strong name for each version of the
> library or  not?

Rate this thread:







Free Magazines

Get these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...

Oracle MagazineNetwork ComputingComputer WorldBio-IT WorldeWeekInformation WeekInfosecurity
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.