473,397 Members | 2,056 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,397 software developers and data experts.

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

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

Oct 31 '07 #1
3 1913
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)

do***************@gmail.com wrote:
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
Oct 31 '07 #2
On Oct 31, 11:38 am, bruce barker <nos...@nospam.comwrote:
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)

downloads4bird...@gmail.com wrote:
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- Hide quoted text -

- 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?

Oct 31 '07 #3
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?
Oct 31 '07 #4

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

4
GAC
by: Phil | last post by:
If a shared assemblies interface changes quite a lot, is it worth deploying into the GAC to aid side by side execution etc Any help appreciated Muchos
6
by: Jim Butler | last post by:
Currently we are having to do an iisreset to update a gac component on a web server. Just removing it from the gac and re-adding it does not update the code executing on the server. This is not...
4
by: Arnaud Debaene | last post by:
Hello group. I have an app which can load "plugins" assemblies that are described in the registry (each registry entry gives the full path to the plugin ..dll file). The plugins may be anywhere...
4
by: Bonj | last post by:
When you view the GAC in windows explorer, it shows it as a special type of view. It also tells you if you try to delete an assembly that is a dependency of an installed application, but if nothing...
2
by: julien | last post by:
Hello, I read several articles about the GAC. Here is my understanding The GAC has 2 main purposes: a/ avoid having the same shared dll loaded several times by different programs b/ several...
11
by: Wolfgang Kaml | last post by:
I am not sure if this is more of an expert question, but I am sure that they are out there. I'd like to setup a general application or bin directory on my Win2003.Net Server that will hold some...
5
by: Harold Howe | last post by:
I am having a problem deserializing objects from a library when the following conditions exist: 1- The library is strongly named 2- The serialized file was created with version 1.0 of the...
5
by: phnimx | last post by:
Hi , We have developed a number of plug-in .NET Library Components that we typically deploy with our various applications by installing them into the GAC. Each of the applications contains an...
3
by: Sabarish | last post by:
Hi , In our application, we are using certains shared .net dlls (developed in c#) . We have installed these dlls in GAC, so that client applications (these client application can be in a...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.