admin-shell / aasx-package-explorer

C# based viewer / editor for the Asset Administration Shell
39 stars 9 forks source link

Do not load <Net46AasxServerPlugin.dll> #31

Open mySCHOTT opened 4 years ago

mySCHOTT commented 4 years ago

############################################################## PlugIn do not work with build development 05. March 2020

PlugIn works with build191121 ############################################################## cmd:

cd .\AasxPackageExplorer
AasxPackageExplorer.exe -read -json options -portable .json -maximized -dll ..\AasxPlugInS\Net46AasxServerPlugin\Net46AasxServerPlugin.dll

Net46AasxServerPlugin

##############################################################

0:Trying load .dll at ..\AasxPlugInS\Net46AasxServerPlugin\Net46AasxServerPlugin.dll
2:Error Trying activate plugin index 0: Die Methode "CheckForLogMessage" im Typ "AasxIntegrationBase.AasxPlugin" der Assembly "Net46AasxServerPlugin, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" hat keine Implementierung. at \Plugins.cs:Zeile 136..
Stacktrace: bei System.Reflection.RuntimeAssembly.GetType(RuntimeAssembly assembly, String name, Boolean throwOnError, Boolean ignoreCase, ObjectHandleOnStack type)
bei System.Reflection.RuntimeAssembly.GetType(String name, Boolean throwOnError, Boolean ignoreCase)
bei AasxPackageExplorer.Plugins.TryActivatePlugins(List`1 pluginDll) in C:\Users\miho\Desktop\AasxPackageExplorer\AasxPackageExplorer\AasxWpfControlLibrary\Plugins.cs:Zeile 136.
0:Application started ..
ronnykreuch commented 4 years ago

Hi, is there already a solution for this error?

I get the same error message when I try to start the AASX Package Explorer development build 02.03.2020 configured with the Net46AasxServerPlugin.

Steps to reproduce: I used a batch and options file to start the AAS Package Exlorer and the plug-in. Before that, I had to fix another error telling me to activate the loadFromRemoteSources switch. Therefore, I inserted \ to the AasxPackageExplorer.exe.config file.

Batch file: cd AasxPackageExplorer AasxPackageExplorer.exe -options options-test.pref

options-test.pref: -dll ..\Net46AasxServerPlugin\Net46AasxServerPlugin.dll

Message: Trying load .dll at ..\Net46AasxServerPlugin\Net46AasxServerPlugin.dll

############################################################################# 0:Trying load .dll at ..\Net46AasxServerPlugin\Net46AasxServerPlugin.dll 2:Error Trying activate plugin index 0: Die Methode "CheckForLogMessage" im Typ "AasxIntegrationBase.AasxPlugin" der Assembly "Net46AasxServerPlugin, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" hat keine Implementierung. at \Plugins.cs:Zeile 136.. Stacktrace: bei System.Reflection.RuntimeAssembly.GetType(RuntimeAssembly assembly, String name, Boolean throwOnError, Boolean ignoreCase, ObjectHandleOnStack type) bei System.Reflection.RuntimeAssembly.GetType(String name, Boolean throwOnError, Boolean ignoreCase) bei AasxPackageExplorer.Plugins.TryActivatePlugins(List`1 pluginDll) in C:\Users\miho\Desktop\AasxPackageExplorer\AasxPackageExplorer\AasxWpfControlLibrary\Plugins.cs:Zeile 136. 0:Application started ..

@mySCHOTT How did you successfully use the plugin with build191121?

Starting build191121 with the plugin using the same options file approach as above, I will not get a detailed error log, only "Message: Trying load .dll = ..\build191121\public-release-with-browser\Net46AasxServerPlugin\Net46AasxServerPlugin.dll .." But when clicking File > Server .. > Plugin OPC UA .. a pop-up window "Plug-in not present" with the following message is shown: "This function requires a binary plug-in file named 'Net46AasxServerPlugin', which needs to be added to the command line, with an action named 'server-start'. Press 'OK' to show help page on GitHub."

Best regards

mySCHOTT commented 4 years ago

@RonnyKreuch

With build191121 is working more and less to get a first impression, how it could work. AasxPackageExplorer_Build191121_OPC_UA_03

Please verify, that in the folder Net46AasxServerPlugin you have a copy of libuv.dll (libuv.1.10.0.nupkg). Was missing in the download package.

Starting the aasxExplorer with following command in batch file: AasxPackageExplorer.exe -maximized -dll ..\AasxPlugInS\Net46AasxServerPlugin\Net46AasxServerPlugin.dll

############################################# (1) Starting in aasxExplorer: File->Server..->Plugin: OPC Server.. AasxPackageExplorer_Build191121_OPC_UA_01

(2) Using any OPC UA client like UaExpert to connect to the OPC UA server via the endpoint url like opc.tcp://localhost:51210/UA/SampleServer and as anonymous: AasxPackageExplorer_Build191121_OPC_UA_02

(3) aasX OPC UA logs: AasxPackageExplorer_Build191121_OPC_UA_Log.txt

(4) Video: AasxPackageExplorer_Build191121_OPC_example.zip

mySCHOTT commented 4 years ago

Not close yet.

ronnykreuch commented 4 years ago

@mySCHOTT

Many thanks for your detailed answer.

The libuv.dll was indeed missing in the Net46AasxServerPlugin folder. Therefore I created a simple project, added the libuv.1.10.0.nupkg package, and copied the libuv.dll from its build. But I still get the error message when I try to start the server with File->Server..->Plugin: OPC Server.. Tested with the same build version as in your screenshot, both public-release-with-browser and public-release-no-browser, and command AasxPackageExplorer.exe -maximized -dll ..\Net46AasxServerPlugin\Net46AasxServerPlugin.dll.

Screenshot 123

Does the action 'server-start' need to be specified somewhere? It's not documented on the help page. I guess it is just called by the AASXPackageExplorer when clicking the menu entry.

Are other DLLs missing in the Net46AasxServerPlugin folder? The following files (incl. the copied livuv.dll) are provided with the Net46AasxServerPlugin.zip:

builds\build191121\public-release-with-browser\Net46AasxServerPlugin

01.04.2020  15:51    <DIR>          .
01.04.2020  15:51    <DIR>          ..
29.03.2020  16:38           101.888 AasxCsharpLibrary.dll
29.03.2020  16:38               432 AasxCsharpLibrary.dll.config
29.03.2020  16:38             5.120 AasxIntegrationBase.dll
29.03.2020  16:38         2.740.824 BouncyCastle.Crypto.dll
13.06.2017  17:19           309.536 libuv.dll
29.03.2020  16:38            19.968 Microsoft.AspNetCore.Hosting.Abstractions.dll
29.03.2020  16:38           112.128 Microsoft.AspNetCore.Hosting.dll
29.03.2020  16:38            14.848 Microsoft.AspNetCore.Hosting.Server.Abstractions.dll
29.03.2020  16:38            66.552 Microsoft.AspNetCore.Http.Abstractions.dll
29.03.2020  16:38            81.912 Microsoft.AspNetCore.Http.dll
29.03.2020  16:38            30.712 Microsoft.AspNetCore.Http.Features.dll
29.03.2020  16:38           285.184 Microsoft.AspNetCore.Server.Kestrel.dll
29.03.2020  16:38            22.528 Microsoft.AspNetCore.Server.Kestrel.Https.dll
29.03.2020  16:38            69.112 Microsoft.AspNetCore.WebUtilities.dll
29.03.2020  16:38            19.960 Microsoft.Extensions.Configuration.Abstractions.dll
29.03.2020  16:38            24.568 Microsoft.Extensions.Configuration.dll
29.03.2020  16:38            19.960 Microsoft.Extensions.Configuration.EnvironmentVariables.dll
29.03.2020  16:38            35.320 Microsoft.Extensions.DependencyInjection.Abstractions.dll
29.03.2020  16:38            45.048 Microsoft.Extensions.DependencyInjection.dll
29.03.2020  16:38            18.424 Microsoft.Extensions.FileProviders.Abstractions.dll
29.03.2020  16:38            32.248 Microsoft.Extensions.FileProviders.Physical.dll
29.03.2020  16:38            39.416 Microsoft.Extensions.FileSystemGlobbing.dll
29.03.2020  16:38            44.024 Microsoft.Extensions.Logging.Abstractions.dll
29.03.2020  16:38            18.424 Microsoft.Extensions.Logging.dll
29.03.2020  16:38            17.912 Microsoft.Extensions.ObjectPool.dll
29.03.2020  16:38            22.008 Microsoft.Extensions.Options.dll
29.03.2020  16:38            16.384 Microsoft.Extensions.PlatformAbstractions.dll
29.03.2020  16:38            29.176 Microsoft.Extensions.Primitives.dll
29.03.2020  16:38            66.552 Microsoft.Net.Http.Headers.dll
29.03.2020  16:38            92.672 Net46AasxServer.dll
29.03.2020  16:38           222.720 Net46AasxServer.pdb
29.03.2020  16:38             9.390 Net46AasxServerPlugin.Config.xml
29.03.2020  16:38            16.384 Net46AasxServerPlugin.dll
29.03.2020  16:38            24.064 Net46AasxServerPlugin.pdb
29.03.2020  16:38           675.752 Newtonsoft.Json.dll
29.03.2020  16:38           701.978 Newtonsoft.Json.xml
29.03.2020  16:38            62.464 Opc.Ua.Configuration.dll
29.03.2020  16:38            17.324 Opc.Ua.Configuration.pdb
29.03.2020  16:38         5.601.792 Opc.Ua.Core.dll
29.03.2020  16:38         1.348.308 Opc.Ua.Core.pdb
29.03.2020  16:38           367.616 Opc.Ua.Server.dll
29.03.2020  16:38           210.040 Opc.Ua.Server.pdb
29.03.2020  16:38            27.320 System.Buffers.dll
29.03.2020  16:38           180.984 System.Collections.Immutable.dll
29.03.2020  16:38            35.760 System.Diagnostics.DiagnosticSource.dll
29.03.2020  16:38           111.840 System.Numerics.Vectors.dll
29.03.2020  16:38           452.840 System.Reflection.Metadata.dll
29.03.2020  16:38            20.768 System.Runtime.CompilerServices.Unsafe.dll
29.03.2020  16:38            33.256 System.Runtime.InteropServices.RuntimeInformation.dll
29.03.2020  16:38            64.232 System.Text.Encodings.Web.dll
29.03.2020  16:38            25.864 System.Threading.Tasks.Extensions.dll
              51 Datei(en),     14.613.536 Bytes
               2 Verzeichnis(se), 103.605.604.352 Bytes frei
mySCHOTT commented 4 years ago

@RonnyKreuch Would you please verify your folder structure. I assume, that the AasxPackageExplorer.exe doesn't find the pluging, because the releative path is wrong. Please keep in mind, what does ..\ (remark with 2 points) mean. Or try a absolute path.

The batch is in the main folder: AasxPackageExplorer_Build191121_REST_16

What I am doing in my batch: (1) echo on (2) change directory .\AasxPackageExplorer (3) start in this folder the AasxPackageExplorer.exe with commands (3.1) make a relative to reference to the plugin folder, which is not in the same folder.

echo on
cd .\AasxPackageExplorer
AasxPackageExplorer.exe -maximized -dll ..\AasxPlugInS\Net46AasxServerPlugin\Net46AasxServerPlugin.dll
cd ..\

AasxPackageExplorer_Build191121_REST_15

ronnykreuch commented 4 years ago

@mySCHOTT The folder structure looks a little different provided by the zip package. The batch file start-aasx-explorer-festo.bat is provided in the main folder public-release-with-browser, which also includes the AasxPackageExplorer.exe. My batch is also placed in this folder.

I moved the folder Net46AasxServerPlugin to the same folder level like this main folder.

My batch start-aasx-explorer-my.bat consists of:

echo on
AasxPackageExplorer.exe -maximized -dll ..\Net46AasxServerPlugin\Net46AasxServerPlugin.dll

The batch starts the AasxPackageExplorer.exe in the same folder like the my batch file. For the plug-in it switches one folder above and into the Net46AasxServerPlugin folder. This should match my folder structure.

My folder structure looks like this: tree1

Files in the folder Net46AasxServerPlugin (incl. the Net46AasxServerPlugin.dll) and folder public-release-with-browser (incl. AasxPackageExplorer.exe and start-aasx-explorer-my.bat on the second screenshot):

tree2 tree3

I checked it again, if I did not make a mistake or typo my relative paths should be fine. Also tried with an absolute path to the plugin, but it's not working.

mySCHOTT commented 4 years ago

@RonnyKreuch

Please find the attached demo video that works fine for me: Video_aasxExplorer.build191121_OPC UA.zip

Using the following batch commands:

rem ################################### rem aasxExplorer - demo installation rem rem using - build191121 rem ################################### echo on cd ".\public-release-with-browser" AasxPackageExplorer.exe -maximized -dll ..\Net46AasxServerPlugin\Net46AasxServerPlugin.dll