473,505 Members | 14,618 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Working with a plugin architecture (binary references)

I'm in the midst of creating a plugin framework with the goal of making
it as easy as possible for myself and other developers to both create
new plugins and work with existing ones.

Each plugin has a seperate sub-dir for each plugin with all external
dependencies located in this directory. When I load these plugins
dynamically everything appears to work properly.

So now let's pretend that I'm developing down the road and I'm creating
a component that relies on one or more of these plugins. I think
ideally I'd just like to make a binary reference to the DLL in the
plugin that contains the classes I need. Since the plugin directories
contain all their external dependencies I've set the "Copy Local"
option to false. However when I do this I get DLL missing errors at run
time:

"
[Could not load file or assembly 'prairieFyre.Interfaces,
Version=5.0.50928.0, Culture=neutral, PublicKeyToken=c70c681b5e8152b2'
or one of its dependencies. The system cannot find the file specified.]
:
at prairieFyre.IQDrivers.DriverMiTAI.ProcessCallEvent (CallEvent
callEvent)
at prairieFyre.IQDrivers.DriverMiTAI.OnMiTAIEvent(Str ing mitaiEvent)
(DriverMiTAI - OnMiTAIEvent)
"

I don't have these problems if I'm loading this plugin at runtime. If I
copy prairieFyre.Interfaces to the /bin/debug directory everything
works fine in the above scenario.

My Plugins are located in /bin/debug/Plugins/<plugin-dirand I have
the following app.config for probing:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<probing privatePath="bin"/>
</assemblyBinding>
</runtime>
</configuration>

Any thoughts on what's going on? Or if someone has an entirely
different approach to what I'm trying to do, I'm open to suggestions!

Thanks,
Dan

Jul 19 '06 #1
0 1418

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

Similar topics

2
2765
by: Chua Wen Ching | last post by:
Hi there, I had some doubts on creatings plugins. As most example on the internet shows how to write plugins onto a plugin host which is normally a windows form program. 1) Can i replace...
5
3028
by: Tamir Khason | last post by:
Friends, maybe someone knows good references for .NET plugin based program architecture. E.g I want to be able to "put" class library(dll) in some place (where I do not the name of the class, but...
2
3052
by: Matt | last post by:
I'm hoping someone can steer me in the right direction to try to do the following: I am developing an application where we receive files from customers. Right now we receive a variety of...
3
2329
by: CSharpNewBie | last post by:
Hi I am looking to create a Plugin Architecture. I looked at this extend or enhance the User Interface (UI) article http://www.codeproject.com/csharp/extensibleui.asp and It looks good and I...
1
1186
by: Craig Buchanan | last post by:
I am building an application to help researcher record the outcomes of their studies. These outcomes are document across a number of paper forms. The information documented on these forms varies...
0
929
by: Craig Buchanan | last post by:
I am building an application to help researcher record the outcomes of their studies. These outcomes are document across a number of paper forms. The information documented on these forms varies...
4
2585
by: anglozaxxon | last post by:
I'm making a program that consists of a main engine + plugins. Both are in Python. My question is, how do I go about importing arbitrary code and have it be able to use the engine's functions,...
1
1932
by: Olie | last post by:
I was quite surprised to find virtually nothing about this but I may have been searching for the wrong thing. I want to know the best way to provide a programming interface to a plugin. I...
7
10576
by: WTH | last post by:
I am now aware (I am primarily a C++ developer) that in C# if you reference the same interface from the same file in two different projects the types are actually incompatible. I found this out...
0
7098
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...
0
7303
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,...
0
7367
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...
1
7018
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...
0
7471
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...
0
5613
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,...
0
4699
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...
0
3187
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...
0
3176
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?

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.