2.0 and/not GAC Assemblies

X

xenophon

I have a new ASP.NET 2.0 project. I have a 3rd party DLL installed in
the GAC. I also have a copy of the DLL in a seperate "lib" directory.
In the web project, I added a reference to the "lib\3rdparty.dll", but
Visual Studio 2005 added a reference to the GAC'd one instead.

I do *NOT* want to use the GAC'd assembly, I want to use the one in
the lib directory. How can I make this happen?

Thanks.
 
G

g3000

I have a similar situation, except I don't understand what the
difference is between the GAC version and the lib folder version?

Can you just hack the webconfig file to point to the lib folder?
 
S

S. Justin Gengo [MCP]

xenophon,

..NET first looks for an assembly in the GAC and then in the bin folder etc.

There are two things you can do to get a reference to the proper assembly:

1) Replace the assembly in GAC with the new one (but it sounds like you need
to keep that there).
2) If the assembly's version number in the "lib" directory is higher than
the one in GAC then .NET will look for the newer version number elswhere
after it doesn't find it in the GAC.

--
Sincerely,

S. Justin Gengo, MCP
Web Developer / Programmer

www.aboutfortunate.com

"Out of chaos comes order."
Nietzsche
 
X

xenophon

Well, right now I think I have the problem solved by moving things
from my "lib" directly to the site's \bin directory. I don't add a
Reference at all. Visual Studio gives me IntelliSense and it compiles.

^shrug^ this didn't have to be different too compared to VS 2003.
 
S

Steven Cheng[MSFT]

Hi xenophon,

As for the application's assembly reference, the reference we added in IDE
is not quite the same as the reference that the application will locate at
runtime.... When we add the reference for our project in VS IDE, it just
pointed to a certain file on disk so that the IDE can find it and use it to
compile the project..... For strong-named assembly, IDE will record its
path on disk , however, the strong-named assembly is always marked as copy
local = false . And at runtime, .net clr runtime always search GAC first
for strong-named assembly, no matter how to reference the assembly in
IDE... Here is the msdn reference mentioned the .NET runtime assembly
locating rule:

#How the Runtime Locates Assemblies
http://msdn.microsoft.com/library/en-us/cpguide/html/cpconhowruntimelocatesa
ssemblies.asp?frame=true

Also, for manually force the runtime use a specific path instead of GAC for
our strong-named assembly, so far what we can get is using the <codebase>
setting:

#<codeBase> Element
http://msdn.microsoft.com/library/en-us/cpgenref/html/gngrfCodeBase.asp?fram
e=true

In addition, for ASP.NET web application, we should always put strong-named
assembly in GAC (rather than private bin path) since ASP.NET does not
support strong-named assembly in private bin...

Thanks,

Steven Cheng
Microsoft Online Support

Get Secure! www.microsoft.com/security
(This posting is provided "AS IS", with no warranties, and confers no
rights.)





--------------------
| NNTP-Posting-Date: Thu, 19 Jan 2006 11:56:11 -0600
| From: xenophon <[email protected]>
| Newsgroups: microsoft.public.dotnet.framework.aspnet
| Subject: Re: 2.0 and/not GAC Assemblies
| Date: Thu, 19 Jan 2006 12:50:55 -0500
| Message-ID: <[email protected]>
| References: <[email protected]>
<[email protected]>
| X-Newsreader: Forte Agent 2.0/32.646
| MIME-Version: 1.0
| Content-Type: text/plain; charset=us-ascii
| Content-Transfer-Encoding: 7bit
| Lines: 24
| X-Trace:
sv3-TK7zOwzH3ozkVV5G87n+XqvGHUO0GdpNxjTGvniVTYKaw2pGOFozZQeQX6PY2/fu7AAbSaW+
5DFHTuc!VvWWMAPcRXp6JWv5ZtlZk6DB/7xmQEfiSicUq4gVwMS6U4w+MXJzwEORNV/f0CYyJJpg
Mg==
| X-Complaints-To: (e-mail address removed)
| X-DMCA-Notifications: http://www.giganews.com/info/dmca.html
| X-Abuse-and-DMCA-Info: Please be sure to forward a copy of ALL headers
| X-Abuse-and-DMCA-Info: Otherwise we will be unable to process your
complaint properly
| X-Postfilter: 1.3.32
| Path:
TK2MSFTNGXA02.phx.gbl!TK2MSFTNGP08.phx.gbl!newsfeed00.sul.t-online.de!t-onli
ne.de!border2.nntp.dca.giganews.com!border1.nntp.dca.giganews.com!nntp.gigan
ews.com!local01.nntp.dca.giganews.com!news.giganews.com.POSTED!not-for-mail
| Xref: TK2MSFTNGXA02.phx.gbl
microsoft.public.dotnet.framework.aspnet:372158
| X-Tomcat-NG: microsoft.public.dotnet.framework.aspnet
|
|
| Well, right now I think I have the problem solved by moving things
| from my "lib" directly to the site's \bin directory. I don't add a
| Reference at all. Visual Studio gives me IntelliSense and it compiles.
|
| ^shrug^ this didn't have to be different too compared to VS 2003.
|
|
|
| On Thu, 19 Jan 2006 09:57:33 -0600, "S. Justin Gengo [MCP]"
|
| >xenophon,
| >
| >.NET first looks for an assembly in the GAC and then in the bin folder
etc.
| >
| >There are two things you can do to get a reference to the proper
assembly:
| >
| >1) Replace the assembly in GAC with the new one (but it sounds like you
need
| >to keep that there).
| >2) If the assembly's version number in the "lib" directory is higher
than
| >the one in GAC then .NET will look for the newer version number elswhere
| >after it doesn't find it in the GAC.
|
|
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,731
Messages
2,569,432
Members
44,832
Latest member
GlennSmall

Latest Threads

Top