473,397 Members | 1,961 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.

Some General Questions regarding .Net

I'm a newcomer to .Net and am slowly becoming familiar with it, so I have
some simple questions. Here's the situation:

I created a VB.Net project for my data access layer (DAL), another VB.Net
project for my business logic layer (BLL), and am using ASP.Net web forms as
the front end. So I want by BLL to reference the DAL and the ASP.Net
project to reference the BLL.
Questions:

How does .Net handle the referencing of other dlls and projects?

The ASP.Net project has a bin subdirectory where it looks like it is placing
the referenced dlls, could someone explains how this works?

If I wanted to have a common VB.Net dll used by multiple ASP.Net projects,
would I have to place a copy of the dll in each bin subdirectory for the
different sites?

What if I wanted to add/remove/change some functionality in the dll, how
would I update each site to use the new logic? How is compatibility
handled?

Is there any registering of dlls that needs to take place? Regsvr32.exe
doesn't seem to work, so .Net must handle this differently.

Would I need to do anything special to copy the ASP.Net project to a
different server, or is it as simple as copying files?
Thanks in advance.

Daniel
Jul 21 '05 #1
2 2224
"Daniel" <dh******@data2you.net> wrote in
news:#Q**************@tk2msftngp13.phx.gbl:
I'm a newcomer to .Net and am slowly becoming familiar with it, so I
have some simple questions. Here's the situation:

I created a VB.Net project for my data access layer (DAL), another
VB.Net project for my business logic layer (BLL), and am using ASP.Net
web forms as the front end. So I want by BLL to reference the DAL and
the ASP.Net project to reference the BLL.
Questions:

How does .Net handle the referencing of other dlls and projects?

The ASP.Net project has a bin subdirectory where it looks like it is
placing the referenced dlls, could someone explains how this works?

If I wanted to have a common VB.Net dll used by multiple ASP.Net
projects, would I have to place a copy of the dll in each bin
subdirectory for the different sites?

What if I wanted to add/remove/change some functionality in the dll,
how would I update each site to use the new logic? How is
compatibility handled?

Is there any registering of dlls that needs to take place?
Regsvr32.exe doesn't seem to work, so .Net must handle this
differently.

Would I need to do anything special to copy the ASP.Net project to a
different server, or is it as simple as copying files?


There is no more DLL Hell with .NET. You can have multiple versions of
the same dll in the GAC (Global Assembly Cache) which is sorta like when
you put a common dll in the windows system folder. However, in order to
put a dll in the GAC you need to assign a strong name to the DLL first.

You can't force an application to use the latest version of a DLL. An
application can be configured to use a specific version even if there is
a later one in the GAC.

If you don't assign a strong name to a dll, then each application must
have it's own copy in the same folder as the executeable.

I say good riddance to regsvr32!!

Michael Lang, MCSD
Jul 21 '05 #2
Thanks for the response. I think I'm starting to get it, but I'm still a
little confused:

So if you don't give the dll a strong name it places a copy of the dll in
the project's bin directory?

How do you give the dll a strong name?

If you do give it a strong name, where does the dll reside? Anywhere you
want?

In the case of a multi-tiered ASP.Net application with a VB.Net BLL and a
VB.Net DAL (Hope this doesn't get too confusing):

If no strong names were used, would the DAL reside in the BLL's bin
directrory?

A copy of the BLL would reside in the ASP.Net project's bin directory, but
would the DAL have to as well? If not, how does the BLL know where the DAL
is and what version to use?
Finally, if I want to update the dll and have all the sites that used the
old dll, upgrade to the new one, how would I do this?

I'm guessing that If it had a strong name it would it do this automatically?

If it didn't have a strong name, would I have to copy it into the bin
directory for each site?

Thanks,
Dan

"Michael Lang" <ml@nospam.com> wrote in message
news:Xn********************************@207.46.248 .16...
"Daniel" <dh******@data2you.net> wrote in
news:#Q**************@tk2msftngp13.phx.gbl:
I'm a newcomer to .Net and am slowly becoming familiar with it, so I
have some simple questions. Here's the situation:

I created a VB.Net project for my data access layer (DAL), another
VB.Net project for my business logic layer (BLL), and am using ASP.Net
web forms as the front end. So I want by BLL to reference the DAL and
the ASP.Net project to reference the BLL.
Questions:

How does .Net handle the referencing of other dlls and projects?

The ASP.Net project has a bin subdirectory where it looks like it is
placing the referenced dlls, could someone explains how this works?

If I wanted to have a common VB.Net dll used by multiple ASP.Net
projects, would I have to place a copy of the dll in each bin
subdirectory for the different sites?

What if I wanted to add/remove/change some functionality in the dll,
how would I update each site to use the new logic? How is
compatibility handled?

Is there any registering of dlls that needs to take place?
Regsvr32.exe doesn't seem to work, so .Net must handle this
differently.

Would I need to do anything special to copy the ASP.Net project to a
different server, or is it as simple as copying files?


There is no more DLL Hell with .NET. You can have multiple versions of
the same dll in the GAC (Global Assembly Cache) which is sorta like when
you put a common dll in the windows system folder. However, in order to
put a dll in the GAC you need to assign a strong name to the DLL first.

You can't force an application to use the latest version of a DLL. An
application can be configured to use a specific version even if there is
a later one in the GAC.

If you don't assign a strong name to a dll, then each application must
have it's own copy in the same folder as the executeable.

I say good riddance to regsvr32!!

Michael Lang, MCSD

Jul 21 '05 #3

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

Similar topics

4
by: Robert M | last post by:
Hello, I actually have a couple of questions regarding this project. First, I have a pretty good understanding of SQL code. I use to work with dBase III and IV. I now work with Access 97 and...
2
by: Ross Micheals | last post by:
All I have some general .NET questions that I'm looking for some help with. Some of these questions (like the first) are ones that I've seen various conflicting information on, or questions that...
1
by: Sean W. Quinn | last post by:
Hey folks, I have a question regarding file handling, and the preservation of class structure. I have a class (and I will post snippets of code later in the post) with both primitive data...
1
by: Tony Johansson | last post by:
Hello Experts! I have some questions about inheritance that I want to have an answer to. It says "Abstract superclasses define a behavioral pattern without specifying the implementation" I...
8
by: Mike | last post by:
Hello, I have a few rather urgent questions that I hope someone can help with (I need to figure this out prior to a meeting tomorrow.) First, a bit of background: The company I work for is...
6
by: Serge Rielau | last post by:
None of the newsgrous involved here are moderated. Nonetheless maybe it is reasonable to point out that the ratio of flame/content in either newsgroup affects the value the community can draw from...
10
by: Hermit Dave | last post by:
Hi, Depending upon their security settings some users can not login due to their machine's Privacy Settings some how blocking the cookie (no privacy policy available)... which is encrypted......
2
by: Daniel | last post by:
I'm a newcomer to .Net and am slowly becoming familiar with it, so I have some simple questions. Here's the situation: I created a VB.Net project for my data access layer (DAL), another VB.Net...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
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
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
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.