473,385 Members | 1,829 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,385 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 2222
"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: taylorcarr | last post by:
A Canon printer is a smart device known for being advanced, efficient, and reliable. It is designed for home, office, and hybrid workspace use and can also be used for a variety of purposes. However,...
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: aa123db | last post by:
Variable and constants Use var or let for variables and const fror constants. Var foo ='bar'; Let foo ='bar';const baz ='bar'; Functions function $name$ ($parameters$) { } ...
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
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
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
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...

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.