Open saadb opened 3 years ago
I might have experienced similar issue with this when developing custom plug-in. I used the MW5.TemplatePlugin
project and it worked out, I mean it can be loaded into the MW5 menu etc, however, when I copied that MW5.TemplatePlugin.dll
onto a barebone testing machine and placed it under with the same MapWindow5\Plugins\
folder, it gave the following exception when it was turned on (by the way, the MW5 version I used is MapWindow-v5.6.3.0-x64.exe
):
Now, this worked on my dev machine where Syncfusion libraries are installed, well, I surmise these are related. Anyway, any suggestion would be appreciated.
As a follow up trial, I took out the SampleDockWindow
injection in both MapListener
and MenuListener
, and tried it on our barebone testing machine again, this time it worked without that exception.
The sample plugin project is not distributed in the installer. Do not reference that project, but copy what you need from it into your own plugin.
Op wo 14 apr. 2021 22:47 schreef tong.zhai @.***>:
As a follow up trial, I took out the SampleDockWindow injection in both MapListener and MenuListener, and tried it on our barebone testing machine again, this time it worked without that exception.
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/MapWindow/MapWindow5/issues/116#issuecomment-819821408, or unsubscribe https://github.com/notifications/unsubscribe-auth/AACY6UYWGO5L65AVMCKZ7ILTIX5PPANCNFSM4YYHTUTQ .
Well, in this case, the "what you need from it" happens to be the SampleDockWindow
and it didn't work. Are you suggesting somehow taking it out of that template project would make it work?
Yes!
The template project is meant to be used as a template, but is not distributed with the installer, since it doesn´t actually do anything. It´s just an example of how you can create a plugin
Op do 15 apr. 2021 17:48 schreef tong.zhai @.***>:
Well, in this case, the "what you need from it" happens to be the SampleDockWindow and it didn't work. Are you suggesting somehow taking it out of that template project would make it work?
— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/MapWindow/MapWindow5/issues/116#issuecomment-820535478, or unsubscribe https://github.com/notifications/unsubscribe-auth/AACY6U3F5JCPKX5HYRWAHBLTI4DENANCNFSM4YYHTUTQ .
@mathijs-dumon the bottom line is that we want to know why it is failing on a testing machine (with only a MapWindow5 installed) but not on our dev machine, I appreciate your responses, but they didn't answer the "why".
Ok I'll try and explain again: 1) The MW5.TemplatePlugin is an example project and the output of the project is not included in the 'vanilla' MW5 installers 2) If you build MW5 yourself on your DEV machine you might have compiled that project when building the solution. That means the dll's will be available, you can reference them and run your development build without a problem. 3) As soon as you try to load that plugin from the 'vanilla' MW5 however, the MW5.TemplatePlugin.dll is not found and your plugin will fail to resolve its dependencies. Hence the error message.
I did NOT build it inside the whole MW5 solution, I installed the MW5 from installer to my personal directory, i.e. C:\Users\tong.zhai\programs\MapWindow5
, then, I created the MW5.TemplatePlugin project under that folder, then I set the MW5.Api, MW5.Plugins, MW5.Tools, Syncfusion.Shared.Base, Syncfusion.Tools.Windows
references to the dlls inside MW5 installation directory.
Also, I am very confused about what you mean when you kept saying that "MW5.TemplatePlugin.dll is not found in 'vanilla' MW5", of course we do NOT expect it to be there, that's the whole point of building your own custom plug-in and just drop into MW5's plugin folder to have it loaded, right?
Hi TongZhai, I misread your initial post. I assumed you were building your own plugin, in a new project and were referencing the MW5.TemplatePlugin. But you are simply modifying that template plugin solution, right?
In that case, one possiblity is that your dll was perhaps built for x86 instead of x64 - can you confirm the platform target in your dev environment was set to x64 for the plugin?
To answer the question by @saadb: you don't need to install the syncfusion library, you should be able to reference the dll's from a recent mapwindow 5 installation (like @TongZhai did). There is no way NOT to use these if you want a dockable window.
Yes, I have the plugin set to x64 platform, and I installed the 64bit MW5, on both dev and testing machine. I suppose you guys already tried what I did, and it worked, or ...? and yes, I was just modifying the template plugin.
I did a clean up of the reference list, and re-referenced all MW and Syncfusion related libs to dlls inside MapWindow5\Plugins\
, now when the SimpleDockWindow
is called, it is not giving that exception anymore, but it locks up the entire MW application, it just freezes up, had to use TaskManager to terminate it, this is the same behavior on both dev and testing machines.
If I do not want to use Syncfusion which I do not why is SampleDocKWindow using Syncfusion So do I need to use SampleDockWindow which it looks like I do How can I use the form without the Syscfusion Library reference? Help me please.