Asked — Edited

Creating Plug In

Hi,

I posted this yesterday but did not show up for some reason.

I am creating my first plug in. Followed the tutorial completely. I keep coming up with the same error constantly.

CA0055 Error Running Code Analysis CA0055 : Could not load C:\Users\Public\Documents\EZ-Builder\Plugins\2463b146-191a-43d0-b69b-5a7034a2aefe\MyFirstplugin.dll. The following error was encountered while reading module 'MyFirstplugin': Assembly reference cannot be resolved: ARC, Version=2015.8.9.0, Culture=neutral, PublicKeyToken=c3a3457c97d352d9. [Errors and Warnings] (Global)

It is pointing to a version not on my system. Did regedit to check registry check and scanned my PC this file referenced does not exist. When add the reference it show current version of ARC keep referencing this version old version. It should be version neutral correct? I have "Copy to local" = False

Message 9 Could not find schema information for the element 'VersionRelease'. C:\Users\jack\Documents\Visual Studio 2013\Projects\MyFirstplugin\MyFirstplugin\plugin.xml 10 4 MyFirstplugin Message 1 Could not find schema information for the element 'PluginV1XML'. C:\Users\jack\Documents\Visual Studio 2013\Projects\MyFirstplugin\MyFirstplugin\plugin.xml 2 2 MyFirstplugin Message 6 Could not find schema information for the element 'PLUGIN_GUID'. C:\Users\jack\Documents\Visual Studio 2013\Projects\MyFirstplugin\MyFirstplugin\plugin.xml 7 4 MyFirstplugin Message 5 Could not find schema information for the element 'LICENSE_URL'. C:\Users\jack\Documents\Visual Studio 2013\Projects\MyFirstplugin\MyFirstplugin\plugin.xml 6 4 MyFirstplugin Message 2 Could not find schema information for the element 'FRIENDLY_NAME'. C:\Users\jack\Documents\Visual Studio 2013\Projects\MyFirstplugin\MyFirstplugin\plugin.xml 3 4 MyFirstplugin Message 3 Could not find schema information for the element 'DLL_FILENAME'. C:\Users\jack\Documents\Visual Studio 2013\Projects\MyFirstplugin\MyFirstplugin\plugin.xml 4 4 MyFirstplugin Message 8 Could not find schema information for the element 'DESCRIPTION'. C:\Users\jack\Documents\Visual Studio 2013\Projects\MyFirstplugin\MyFirstplugin\plugin.xml 9 4 MyFirstplugin Message 7 Could not find schema information for the element 'CATEGORY_TYPE'. C:\Users\jack\Documents\Visual Studio 2013\Projects\MyFirstplugin\MyFirstplugin\plugin.xml 8 4 MyFirstplugin Message 4 Could not find schema information for the element 'AUTHOR_NAME'. C:\Users\jack\Documents\Visual Studio 2013\Projects\MyFirstplugin\MyFirstplugin\plugin.xml 5 4 MyFirstplugin Error 10 Code Analysis detected errors. See Code Analysis results window or log file for details. MyFirstplugin

It shows up in ARC under plugins and can placed in window. No buttons show and not functional.

Using VS 2013 and VB.Net

Thanks.


ARC Pro

Upgrade to ARC Pro

Elevate your robot's capabilities to the next level with Synthiam ARC Pro, unlocking a world of possibilities in robot programming.

PRO
Synthiam
#1  

Many steps of the plugin tutorial have been missed. It would be easier to follow the tutorial than for me to copy and paste the tutorial:)

Hard to say because there are so many errors. But maybe the reference to ARC isn't added? Maybe the reference to ezb isn't added? Maybe those two references are set to be copied when they shouldn't?

Here's a direct link to the tutorial for creating a plugin: https://synthiam.com/Tutorials/UserTutorials/146/1

#2  

All references are added and the plugin compiles fine.. I am not sure why to would try reference any version of ARC much less one form 7 months ago. Went over tutorial 10 times and started from scratch.

It seem to be unable the information plugin.xml

Here it is and looks ok..

<?xml version="1.0" ?> <PluginV1XML xmlns:xsd="http://www.w3.org/2001/XMLSchema"; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">; <FRIENDLY_NAME>Test Plugin</FRIENDLY_NAME> <DLL_FILENAME>MyFirstplugin.dll</DLL_FILENAME> <AUTHOR_NAME>jackphillips1953</AUTHOR_NAME> <LICENSE_URL>https://synthiam.com/tutorials/plugin-license.aspx</LICENSE_URL>; <PLUGIN_GUID>2463b146-191a-43d0-b69b-5a7034a2aefe</PLUGIN_GUID> <CATEGORY_TYPE>Beta</CATEGORY_TYPE> <DESCRIPTION>This is just a test for now</DESCRIPTION> <VersionRelease>0</VersionRelease> </PluginV1XML>

Like I said it loads ok and shows up on ARC and I can select but nothing show as far as buttons.

I have been creating DLL of rat least 12 years now so I have done this before from scratch on my own but used in ASP.Net but not much difference.

I am using .Net 4.5 but tried 4.0 also.

PRO
Synthiam
#3  

Sorry - i'm having trouble understanding the sentences. In the first paragraph, are you mentioning that the version of ARC installed on your computer is 7 months old?

From what i can see, an instruction from the tutorial has been skipped. I would check to ensure these...

  1. Are the references added to "not copy"?

  2. Is the Output Folder specified correctly?

  3. Is the Plugin.xml configured to be copied to the output folder?

  4. Of course, are you using the latest ARC that is not 7 months old?

  5. Is the main form inheriting the correct PluginMaster class rather than Form class?

  6. Is the "Debug With External Application" set for ARC?

Also, what does "you see it in ARC but nothing show such as buttons" mean? If you could expand on that sentence, it may be useful to provide direction.

If you have additional issues, i would recommend completing each step of the tutorial as steps have been overlooked. I'm unsure what step has been overlooked due to the number of errors. Please check the list i provided, otherwise the tutorial is far more detailed than my response in the forum can be.

#5  

The EZ- Builder reference is 7 months old. Computer about 1.5 years.

All above is correct and checked several times. It keeps referencing an ARC not on my computer that isn't anywhere including checking registry.

I am not sure why it would even reference a version because it should be version neutral correct?

Using VS 2013.

Running other .dll I have created in past and they are ok.

Not sure what else I can do.

BTW - did the tutorial several times, erased and download newest version up to yesterday.

Thanks for the help.

PRO
Synthiam
#6  

The version that you're referring to is the Assembly Version, which is not the file version. A DLL relates to the assembly version and not the file version - which is why you're seeing two different versions of the same file.

  • If you right click on a file and select properties, you see the file version.

  • If you add a file as a library reference in a programming environment, you see the assembly version.

A DLL is called a Dynamic Link Library - and it is a "client" to a program. What you are creating when you make an ARC skill plugin is a library that ARC will load. The library (plugin) references an Assembly of EZ_Builder.exe and EZ_B.DLL. The assembly is a list of available functions, procedures, methods, variables, etc. in a table. This table is what the DLL will use to know where different elements can be found. You can find out more using Google.

In programming, when you add a reference to your project via the file system, the registry is not used. The file reference uses the file system, which is your hard drive. The hard drive stores the files in your computer, usually C:\

In the instructions, the file references to both EZ_Builder.exe and EZ_B.dll are required, which are file references. Once you add the reference to the physical file, the project will load the Assembly of those files to know where the memory addresses are for methods, variables, etc... This makes it easy so you don't have to access memory directly from the programming environment.

I know this is a lot of complicated information - but hopefully it will help. This information is actually 100% unnecessary for plugin development if the tutorial is followed. Very rarely do modern programmers need to understand how an assembly works, or what memory addresses are. The point to Visual Studio and modern programming environments is that you simply add a reference and go.

In your case, i do not believe the reference is the issue. Either the output folder is not specified correctly, the plugin.xml is not included to be copied, or the plugin.xml is incorrectly formatted.

I would recommend viewing the tutorial to see what step was missed - also the tutorial has an updated Trouble Shooting section which can be referenced. Good luck!:)

PRO
Synthiam
#7  

Ha - okay, i see the problem with your Plugin.XML. It has a few invalid characters and is not a valid XML file... For some reason, you put a bunch of semicolons in the file. If you download the XML file from the plugin screen via the tutorial would resolve this. Or simply use Visual Studio's Auto XML format feature to view the errors.

I highlighted the invalid characters from your post...

<?xml version="1.0" ?> <PluginV1XML xmlns:xsd="http://www.w3.org/2001/XMLSchema";; <-- NO xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">;; <-- NO <FRIENDLY_NAME>Test plugin</FRIENDLY_NAME> <DLL_FILENAME>MyFirstplugin.dll</DLL_FILENAME> <AUTHOR_NAME>jackphillips1953</AUTHOR_NAME> <LICENSE_URL>https://synthiam.com/tutorials/plugin-license.aspx</LICENSE_URL>;; <-- NO <PLUGIN_GUID>2463b146-191a-43d0-b69b-5a7034a2aefe</PLUGIN_GUID> <CATEGORY_TYPE>Beta</CATEGORY_TYPE> <DESCRIPTION>This is just a test for now</DESCRIPTION> <VersionRelease>0</VersionRelease> </PluginV1XML>

PRO
Synthiam
#8  

*Note: Updated tutorial trouble shooting page with a link to this thread in case others put invalid characters in the xml

enjoy your plugin creation!