Solved

Reference a Class Library from another Class Library in a Solution with 3 projects

Posted on 2010-11-14
7
325 Views
Last Modified: 2012-05-10
I've downloaded the Cassini souce code and modified it.  Built the project in "release" mode.  In another solution, which contains 2 exe's and a class library, I'm referencing the Cassini dll I just built by the Class library.

Everything compiles without any errors, but as soon as I run the solution (by double clicking the EXE), I get an error that it can't load the Cassini Assembly because the file cannot be found.  I've tried cleaning the solutions and rebuilding them but still no luck.  The only way I seem to be able to get it to work is to remove my reference to my custom Cassini build and instead reference Cassini from the GAC.  

What gives?  I've referenced custom dll's a million times before and never had any issues.
0
Comment
Question by:davidcahan
  • 4
  • 3
7 Comments
 
LVL 13

Expert Comment

by:Ashok
Comment Utility
Which Class Library has a reference to other Class Library?

If ClassLibrary2 has reference, add DLL in the bin folder of ClassLibrary2.

HTH
Ashok
0
 

Author Comment

by:davidcahan
Comment Utility
Sorry, that doesn't help. This is a client app. There isn't a bin folder. I've tried just about every obvious thing I could try
0
 
LVL 13

Expert Comment

by:Ashok
Comment Utility
Try adding dll to the PATH (Environment Variable).

HTH
Ashok
0
Threat Intelligence Starter Resources

Integrating threat intelligence can be challenging, and not all companies are ready. These resources can help you build awareness and prepare for defense.

 
LVL 13

Expert Comment

by:Ashok
Comment Utility
You can use (dependentAssembly and codeBase) entries in
App.Config to tell the application where to look for its Dll's.

I am not sure exactly what you have to add in App.Config right now.

HTH
Ashok
0
 
LVL 13

Expert Comment

by:Ashok
Comment Utility
Here is sample.....

      <dependentAssembly>
        <assemblyIdentity name="ConsoleDLL"
                          publicKeyToken="[token]"
                          culture="neutral"/>
        <bindingRedirect oldVersion="[oldversion]"
                         newVersion="[newversion]" />
        <codeBase version="[newversion]"  href="file:///c:\bin\ConsoleDLL.dll" />                
      </dependentAssembly>

HTH
Ashok
0
 

Accepted Solution

by:
davidcahan earned 0 total points
Comment Utility
Was able to get it working.  Turns out that Cassini has to be registered in the GAC EXCEPT if you do the following:

1) reference your custom cassini.dll in your .NET project
2)build your project
3)install/move your project onto the client machine
4)copy Cassini.dll into the bin folder of your webroot

so, you have to have your cassini.dll in your client app folder and in the bin folder of your web root.  if there is no bin folder you have to create one and drop cassini into it.
0
 

Author Closing Comment

by:davidcahan
Comment Utility
figured it out myself
0

Featured Post

IT, Stop Being Called Into Every Meeting

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

IntroductionWhile developing web applications, a single page might contain many regions and each region might contain many number of controls with the capability to perform  postback. Many times you might need to perform some action on an ASP.NET po…
Introduction This article shows how to use the open source plupload control to upload multiple images. The images are resized on the client side before uploading and the upload is done in chunks. Background I had to provide a way for user…
It is a freely distributed piece of software for such tasks as photo retouching, image composition and image authoring. It works on many operating systems, in many languages.
When you create an app prototype with Adobe XD, you can insert system screens -- sharing or Control Center, for example -- with just a few clicks. This video shows you how. You can take the full course on Experts Exchange at http://bit.ly/XDcourse.

771 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

Need Help in Real-Time?

Connect with top rated Experts

11 Experts available now in Live!

Get 1:1 Help Now