What you describe vis-a-vie the build process is indeed the difference
between a file reference and a project reference. The two nice things
about a project reference is that when you build debug you reference the
debug version of the other project, but when you build release you
reference the release version of the other project. And when you build,
you rebuild the other project if needed.

 

For me, business object / data layer references would probably be
project references for my client project, but something like log4net, or
a 3rd party control would be file references. I don't really want debug
builds of the 3rd party DLLs, and I don't need to step into them in
debug mode or have them rebuilt every time.

 

We add a "_Binaries" directory to our projects where we can place 3rd
party stuff and reference it from there. That way if it does change the
change can be checked into the _Binaries directory and then it will be
picked up on the next build.

 

-Walden

-- 

Walden H Leverich III

Tech Software

(516) 627-3800 x3051

[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> 

http://www.TechSoftInc.com <http://www.techsoftinc.com/> 

 

Quiquid latine dictum sit altum viditur.

(Whatever is said in Latin seems profound.)

 

From: hdjim69 [mailto:[EMAIL PROTECTED] 
Sent: Thursday, October 30, 2008 11:32 AM
To: Log4NET User
Subject: RE: when to use strong name confusion AND Add Reference
confusion

 

Great!  Now comes the question, what about project reference vs. file
reference? MSDN recommends using project references whenever possible
and only use file references when necessary.  

 

I haven't been using .Net that long and I'm still a little fuzzy on all
the setup choices.  We're on VS2005 using Team Suite.  The source is on
a dev server and we download local copies to develop.  When done, we
diff, the check into the server. Then Q&A does a build.

 

I'm in charge of requirements gathering and setup for Log4Net.  So, I
should add a new project to our solution and add the Log4Net code and
set a reference to this project from all the other projects in the
solution that we need to use Log4net to log. Then do a build, and save
my solution and check in the new project.  When my co-workers "get
latest" it should pull down the new project and all the existing
projects should now have a reference to the Log4Net dll that was built.


 

If so, I really don't need the .dll that came with the Log4Net download
since I'm going to rebuild it anyway when I add the project and build
it.  Is this the way to do this?  

 

TIA

 



--- On Thu, 10/30/08, Reineri, Jim <[EMAIL PROTECTED]> wrote:

        From: Reineri, Jim <[EMAIL PROTECTED]>
        Subject: RE: when to use strong name confusion
        To: "Log4NET User" <log4net-user@logging.apache.org>,
"[EMAIL PROTECTED]" <[EMAIL PROTECTED]>
        Date: Thursday, October 30, 2008, 11:05 AM

        This is exactly right.  The only downside of deploying unsigned
log4net with each application is that you would end up with a copy of
the dll in each deployed application.  At < 300k that is a very small
downside in most situations.

         

        Jim

 

 

From: Walden H. Leverich [mailto:[EMAIL PROTECTED] 
Sent: Thursday, October 30, 2008 10:51 AM
To: Log4NET User; [EMAIL PROTECTED]
Subject: RE: when to use strong name confusion

 

> just want to be able to go into each project and add a reference to
the log4net.dll and that should do it.  

>No GAC just a reference in each project to the log4net.dll.

 

Correct. _IF_ you used the signed version (or signed a build yourself)
you could drop it in the GAC and then you wouldn't need a copy in each
deployment directory (you'd still need a reference) but we've found the
GAC closer to DLL-hell then not. It's simple enough to drop a copy of
log4net.dll in the deployment directory and away you go. Plus, if you
were to use a strongly named version then every time you rebuilt it you
would have to adjust your references as the full version # is included
in the strong name. Not the end of the world for log4net.dll, but there
are updates.

 

-Walden

 

-- 

Walden H Leverich III

Tech Software

(516) 627-3800 x3051

[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> 

http://www.TechSoftInc.com <http://www.techsoftinc.com/> 

 

Quiquid latine dictum sit altum viditur.

(Whatever is said in Latin seems profound.)

 

From: hdjim69 [mailto:[EMAIL PROTECTED] 
Sent: Thursday, October 30, 2008 10:04 AM
To: Log4NET User
Subject: RE: when to use strong name confusion

 

Yes, this is for internal use.  We are not a vendor. However we have
several projects in the solution (VS2005) that need to log (client.exe,
client.dll, server.dll, etc.).  I just want to be able to go into each
project and add a reference to the log4net.dll and that should do it.
No GAC just a reference in each project to the log4net.dll. 

 

Is this the correct way to set up referencing this .dll?



--- On Thu, 10/30/08, Walden H. Leverich <[EMAIL PROTECTED]>
wrote:

        From: Walden H. Leverich <[EMAIL PROTECTED]>
        Subject: RE: when to use strong name confusion
        To: "Log4NET User" <log4net-user@logging.apache.org>,
[EMAIL PROTECTED]
        Date: Thursday, October 30, 2008, 9:45 AM

Is this for _internal_ use? IOW, you're not a ISV getting ready to
distribute software, right? In that case, just ignore strong names
completely. Use the DLL as it, and don't worry about sn.exe or signing
at all. Except in rare cases (and you'll know when you get there) there
is no point in using strongly named assemblies internally. 

 

If you're an ISV, then consider it, but then you'll have to understand
strong names for your own stuff and the log4net stuff will seem obvious.

 

-Walden

 

-- 

Walden H Leverich III

Tech Software

(516) 627-3800 x3051

[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> 

http://www.TechSoftInc.com <http://www.techsoftinc.com/> 

 

Quiquid latine dictum sit altum viditur.

(Whatever is said in Latin seems profound.)

 

From: hdjim69 [mailto:[EMAIL PROTECTED] 
Sent: Thursday, October 30, 2008 8:54 AM
To: log4net-user@logging.apache.org
Subject: when to use strong name confusion

 

Hello, 

 

Not sure I understand the strong name requirements.  I'm on .Net 2.0.
There is already a .dll in the log4net-1.2.10\bin\net\2.0 dir. Do I need
to rebuild this .dll with a strong name key or can I just use this dll
as it is ?    I know what a strong name is and how to generate a
private/public key but still not sure how this relates to when and why I
would need to do this with log4net.

 

 

Any help would be appreciated.

 

 

TIA

J

 

 

 

Reply via email to