473,665 Members | 2,827 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Assembly referencing problem with creating third party plug-in

I have a full-blown application that consists of several (fifteen or so)
assembly DLLs, each being a separate VS.NET project that outputs to the main
DLL's bin directory. They are all strongly named. I have registered the main
DLL, which references the other DLLs, to the GAC cache.

I have built a plug-in for a third party application with which I load the
GAC cached assembly. But it doesn't find the dependencies.

I just spent hours getting everything strong-named and getting the main DLL
into the cache, and it seems that I haven't gotten anywhere, as the
referenced DLLs still can't be found. Seems that the GAC cache really does
cache and doesn't just provide a reference point to the DLL and its runtime
directory.

How do I resolve this problem so that I can get the plug-in for the third
party app working?? I REALLY DON'T want to spawn a new process and use
Remoting!!!

Thanks for any help.

Jon
Nov 15 '05 #1
2 1562


"Jon Davis" <jo*@REMOVE.ME. PLEASE.jondavis .net> wrote in message
news:O0******** ******@TK2MSFTN GP10.phx.gbl...
I have a full-blown application that consists of several (fifteen or so)
assembly DLLs, each being a separate VS.NET project that outputs to the main DLL's bin directory. They are all strongly named. I have registered the main DLL, which references the other DLLs, to the GAC cache.

I have built a plug-in for a third party application with which I load the
GAC cached assembly. But it doesn't find the dependencies.

I just spent hours getting everything strong-named and getting the main DLL into the cache, and it seems that I haven't gotten anywhere, as the
referenced DLLs still can't be found. Seems that the GAC cache really does
cache and doesn't just provide a reference point to the DLL and its runtime directory.


Hi Jon,

The CLR looks for assemblies in the GAC first and then in the Application
Base directory and then in subdirectories named after the dll it is looking
for. It sounds like, the referenced DLLs are not in the Application Base
directory. You can use the following command to see what the CLR thinks
your base directory is:

MessageBox.Show (AppDomain.Curr entDomain.BaseD irectory);

The Base Directory should also show up in your Fusion log. You can see this
if your exception bubbled up to the top and crashed your program. However,
if you had good exception handling in place, you may not see it. In this
case, launch fuslogvw.exe, check the Log Failures box, run your program and
let it generate the exception, and press the Refresh button on the Fusion
Log console window. When you press the View Log button, the fusion log will
pop up in IE. At the bottom of this log, you'll see four entries that say
"LOG: Attempting download of new URL file:///...". This is where the CLR is
looking, but can't find your DLLs.

If it is guaranteed that this will be the only place that those DLLs will
reside, even after deployment, then you can copy your DLLs into that
directory. Otherwise, add them all to the GAC.

Joe
--
http://www.csharp-station.com
Nov 15 '05 #2
I see. Well I can't add all the DLLs to the GAC because a lot of them are
COM wrappers and that would just be GAC [gack!] bloat.

What about ..

AppDomain.Curre ntDomain.SetDyn amicBase()

.. might this be of any use for me? (Looking into this further ..)

Thanks,
Jon
"Joe Mayo" <jm***@ddiieess ppaammeerrssddi iee.com> wrote in message
news:Ow******** ******@TK2MSFTN GP10.phx.gbl...


"Jon Davis" <jo*@REMOVE.ME. PLEASE.jondavis .net> wrote in message
news:O0******** ******@TK2MSFTN GP10.phx.gbl...
I have a full-blown application that consists of several (fifteen or so)
assembly DLLs, each being a separate VS.NET project that outputs to the main
DLL's bin directory. They are all strongly named. I have registered the

main
DLL, which references the other DLLs, to the GAC cache.

I have built a plug-in for a third party application with which I load the GAC cached assembly. But it doesn't find the dependencies.

I just spent hours getting everything strong-named and getting the main

DLL
into the cache, and it seems that I haven't gotten anywhere, as the
referenced DLLs still can't be found. Seems that the GAC cache really does cache and doesn't just provide a reference point to the DLL and its

runtime
directory.


Hi Jon,

The CLR looks for assemblies in the GAC first and then in the Application
Base directory and then in subdirectories named after the dll it is

looking for. It sounds like, the referenced DLLs are not in the Application Base
directory. You can use the following command to see what the CLR thinks
your base directory is:

MessageBox.Show (AppDomain.Curr entDomain.BaseD irectory);

The Base Directory should also show up in your Fusion log. You can see this if your exception bubbled up to the top and crashed your program. However, if you had good exception handling in place, you may not see it. In this
case, launch fuslogvw.exe, check the Log Failures box, run your program and let it generate the exception, and press the Refresh button on the Fusion
Log console window. When you press the View Log button, the fusion log will pop up in IE. At the bottom of this log, you'll see four entries that say
"LOG: Attempting download of new URL file:///...". This is where the CLR is looking, but can't find your DLLs.

If it is guaranteed that this will be the only place that those DLLs will
reside, even after deployment, then you can copy your DLLs into that
directory. Otherwise, add them all to the GAC.

Joe
--
http://www.csharp-station.com

Nov 15 '05 #3

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

Similar topics

3
2538
by: Tony Jones | last post by:
I have a third party assembly that I need to strong name because the C# project I'm referencing it in will be strong named. Every time I compile my project I'm getting "Assembly generation failed -- Referenced assembly 'xxxxx' does not have a strong name". The referenced assembly is a .NET assembly that does not have a strong name. It there a way to strong name it? I DO NOT have the source code for the referenced third party assembly.
6
3575
by: Wolfgang Keller | last post by:
Hello, I'm looking for a spreadsheet application (MacOS X prefered, but Windows, Linux ar available as well) with support for Python scripting (third-party "plug-ins" are ok) and a database interface. Applications that I know of (that they exist) are: MS Excel Quattro
4
14159
by: Bob | last post by:
I want to use a 3rd party assembly that links to a "4th party assembly." My problem is that I use a newer version of that 4th party assembly. When I add the assemblies as references to my application it won't run. I get an error, " The located assembly's manifest definition with name 'XXX' does not match the assembly reference.". Is there any way to get around this? All the assemblies are strong named so is there a way to use the GAC...
2
1849
by: EAI | last post by:
Is there a way to Install/UnInstall an assembly to GAC? Thanks!
0
923
by: Mikael Engdahl | last post by:
Hello I am using a third party assembly that worked perfectly for a couple of days and then suddenly doesn't work at all. I get this error message: "File or assembly name System, or one of its dependencies, was not found." It sounds quite strange to me since there shouldn't be no
11
2699
by: Michael Maes | last post by:
Hello, I want to be able to load an assembly by selecting a dll from an OpenFileDialog. This seems to work, exept when that assembly references "3rd-Party dll's". Just this simple line: Dim myAssembly As = .LoadFile(FileName) throws the following exception:
0
954
by: Scott F K Hooper | last post by:
I'm going nuts! I'm using VS2005 with dotNet 2. I have had the following problem with three seperate third party dlls, any of which I would like to implement into my VB/asp.net project. At compile time I get the following error: "Could not load file or assembly 'Manco.Chart, Version=3.1.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. Failed to grant minimum permission requests. (Exception from HRESULT: 0x80131417)"...
8
1382
by: Dale | last post by:
I have created a class that implements IHttpModule and I want to use the module on several of the web sites that exist on my server. The module works great if I place the dll in a web applications bin directory. However, I can’t get it to work at all from the GAC. If I remove the dll from the web applications bin file, I get the following error: File or assembly name RequestHandler, or one of its dependencies, was not found. The...
2
1407
by: Shilpa | last post by:
Hi, I am writing a C# plugin for a third party tool. Multiple versions of the same tool can be installed on the client machine at any given time. Version 6 of this tool is managed code while version 5 is not. The plugin is built on version 6 of the tool. So, when the plugin is installed on a machine that has only version 6 of the tool, it works fine. As expected, it doesnt work if only version 5 is installed.
1
2943
by: Curious | last post by:
Hi, I have a .NET program that uses a third party assembly. However, it doesn't seem to work because when I start my program, it gives me an error as below: Could not load file or assembly 'acPDFCreatorLib.Net, Version=2.0.1.32956, Culture=neutral, PublicKeyToken=8aedc7a81d17941d'
0
8438
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, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
8863
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, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
8779
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 tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
1
8549
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 Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
8636
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 protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
7376
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, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
0
5660
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
4186
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
2
1761
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

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.