reference dll locations

Posted on 2004-09-09
Medium Priority
Last Modified: 2008-03-10
I have a project that uses quite a few references to other dlls. Some dll's are 3rd party components, some are from other projects in the solution.

When I deploy this application, I would like to have the .exe in a dir, and all the dll's in a subdir called 'bin'. This works fine for most of my dll's. It seems though, that any dll that comes from a project in the solution has to be in the same directory as the .exe or a subdirectory with the same name as the dll.

For example:
9/9/2004 12:40 PM: System.IO.FileNotFoundException: File or assembly name SqlDbAccess, or one of its dependencies, was not found.
File name: "SqlDbAccess"
  at SAS100.Sas100DBAccess..ctor(String sRole, String sMode)
  at SAS100.SAS100.Main()

=== Pre-bind state information ===
LOG: DisplayName = SqlDbAccess, Version=1.0.1713.11505, Culture=neutral, PublicKeyToken=null
LOG: Appbase = C:\Documents and Settings\me\Desktop\test\
LOG: Initial PrivatePath = NULL
Calling assembly : SAS100a, Version=1.0.1713.11561, Culture=neutral, PublicKeyToken=null.

LOG: Policy not being applied to reference at this time (private, custom, partial, or location-based assembly bind).
LOG: Post-policy reference: SqlDbAccess, Version=1.0.1713.11505, Culture=neutral, PublicKeyToken=null
LOG: Attempting download of new URL file:///C:/Documents and Settings/me/Desktop/test/SqlDbAccess.DLL.
LOG: Attempting download of new URL file:///C:/Documents and Settings/me/Desktop/test/SqlDbAccess/SqlDbAccess.DLL.
LOG: Attempting download of new URL file:///C:/Documents and Settings/me/Desktop/test/SqlDbAccess.EXE.
LOG: Attempting download of new URL file:///C:/Documents and Settings/me/Desktop/test/SqlDbAccess/SqlDbAccess.EXE.

Does anyone know a way to change the dirs this looks in?

As is, I am forced to either include these dll's in the exe dir, or create 1 subdir for each project-dll.

Question by:kraquen
  • 2
LVL 24

Expert Comment

ID: 12021274
Just to get the simplest workaround out of the way:
Would it work to leave the EXE in the BIN folder, and use a BAT file to launch the EXE?
LVL 24

Accepted Solution

Justin_W earned 2000 total points
ID: 12021317
Another option is to customize your EXE.CONFIG file using the following:


MSDN docs:

Author Comment

ID: 12024174
i haven't tested it, but that looks like it'll do what I want.. thanks

Featured Post

Get your problem seen by more experts

Be seen. Boost your question’s priority for more expert views and faster solutions

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

For those of you who don't follow the news, or just happen to live under rocks, Microsoft Research released a beta SDK (http://www.microsoft.com/en-us/download/details.aspx?id=27876) for the Xbox 360 Kinect. If you don't know what a Kinect is (http:…
An ASP.NET Web Form User Control is not newly introduced in ASP.NET. In fact, it was an old technology yet still playing a role to generate web content, especially when we want to use it to have a better and easy way to control part of the web conte…
In this video I will demonstrate how to set up Nine, which I now consider the best alternative email app to Touchdown.
If you are looking for an automated solution for backup single or multiple Office 365 user mailboxes to Outlook data file, then you can use Kernel Office 365 Backup & Restore tool. Go through the video to check out the steps to backup single or mult…

627 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question