JD,
First, thank you for your previous help with plugins. I have already made a few to help teach some of the introductory CTS courses.
Getting to the point, I believe I have discovered an error in the plugin manager service. The error occurs when the user opens the project file directly (not through the program executive), and they do not have the plugin for that project. The prompt occurs, asking if the user would like to download the plugin, but then throws an exception.
Likewise, if you first load up the Ez-Builder.exe and open the same file, the plugin will download. I have added a short video to help illustrate the error since I may lack the finesse to articulate it correctly.
I ran into a similar issue when working on one of the plugins. I was trying to reference external photos and using the following code to find the plugin dir:
Code:
System.IO.Path.GetDirectoryName(filename)
I noticed when loaded through project file directly it would reference the ARC dir (The folder where ARC is installed in), but when ARC was loaded first and then the project was selected, it would reference the plugin dir.
I am not sure if they are completely related, but from reading the error, is seems it is not able to find a particular file.
-Mike
As for finding the plugin folder to reference files within it, use this step from the tutorial: http://www.ez-robot.com/Tutorials/UserTutorials/146/16 under the heading Files & Sub Folders
However, is your plugin changing the working directory? If so, don't do that. It will cause way more problems than just the plugin loading error. Use the method stated in my above.
If the current working directory of the ARC.exe (parent application) is changed by a plugin, it will not be able to find other dependencies.
Do you sleep? Anyways, no, I did not change the working directory and can reproduce the error with all plugins I have tested (mostly mine and yours).
Thanks for the tip on the constant, I thought I read the tutorial, but I guess I missed that! I also noticed that my reference EZ_B.dll was grossly out-dated.
The ezb.dll assembly version is different than the file version. The assembly version is from 2015 and will not change until the framework changes for the plugin.
The file version can continue to change and introduce new features / long as it doesn't change the assembly.
To create a plugin, the SDK is not used. Plugins require the installation files of ARC. The SDK and ARC are very different things, even though there are dependencies.
1) If you are making a standalone .exe (Executable) program, use the SDK
2) If you are making a plugin for ARC, use the ARC skill plugin tutorial, which uses the ARC installation files