Dear Community,
I am currently implementing a simple SFTP upload mechanism in a QAction, and I am almost done. However I got stuck at the last percent, namely the correct references to the required libraries. Referencing the ssh.net DLL was easy, but I cannot get the protocol to find the Bouncycastle.Cryptography DLL.
The last thing I tested was to convert the standalone protocol into a solution and to install it in DataMiner via the generated dmprotocol file which already comes with all required libraries (a very nice feature I must say). From the similar questions here in the community and the linked articles in the documentation, I think I set up everything correctly, but it doesn't work. Even though the Bouncycastle.Cryptography DLL is in the expected location (C:\Skyline DataMiner\ProtocolScripts\DllImport\bouncycastle.cryptography\2.4.0\lib\net461) and the QAction compiles, it is not found at runtime.
To make things simple, I boil it down to some questions:
- What versions of Renci.SshNet and BouncyCastle should I use?
- What should the dllimport attribute in the QAction element look like?
- If the code is cross-referenced in a different QAction, does that QAction also require a reference to third-party libraries?
Thanks
Hi Tobias,
- What versions of Renci.SshNet and BouncyCastle should I use?
To be able to answer this question, I would need to have a closer look at the issue you are experiencing.
- What should the dllimport attribute in the QAction element look like?
When you reference a NuGet package in a QAction, the dllImport typically looks something like this: <packageName>\<packageVersion>\lib\<target>\<assemblyName>.dll(e.g. "skyline.dataminer.utils.protocol.extension\1.0.0.4\lib\net462\Skyline.DataMiner.Utils.Protocol.Extension.dll"). In case multiple versions of a NuGet are indirectly used, for the highest version the full assembly path is included and for the other versions a folder path (<packageName>\<packageVersion>\lib\<target>\)
- If the code is cross-referenced in a different QAction, does that QAction also require a reference to third-party libraries?
See the following answer: transient-nuget-package-dependencies-in-a-solution-between-projects-qactions
Is it possible to contact support.data-acquisition@skyline.be and provide the connector solution? This will help us to see what specific issue you are experiencing.
If possible, also provide the element log and the SLManagedScripting.txt log file. Also mention the DataMiner version you are using.