Run Time Exception occurs saying the module could not be found.
Please see attached screenshot.eikonapierror.png
Run Time Exception occurs saying the module could not be found.
Please see attached screenshot.eikonapierror.png
I am trying to fetch real-time data using Eikon API.
Its a C# application
Hi @parth.badani,
Thank you for your participation in the forum.
Is the reply below satisfactory in resolving your query?
If so please can you click the 'Accept' text next to the appropriate reply. This will guide all community members who have a similar question.
Thanks
AHS
Hi @steven.peng
Apologies for not being able to update quickly on this. I didn't get a chance to work with Process Monitor tool.
I'll surely update the team with the status soon.
This is the effect of shadow copying excluding unmanaged dlls. As you can see from the Proc Mon log, ThomsonReuters.Udap.Bus.Tools.dll (together with all other managed dlls) is copied from the bin folder to the Temporary ASP.NET Files folder, and this is where it's loaded from into the application. Then the process tries to load EikonPipeDll.dll from the same location, does not find it there, tries to find it in the process folder and in the PATH and fails. The reason why EikonPipeDll.dll is not copied to the Temporary ASP.NET Files folder is that EikonPipeDll.dll is unmanaged. There are multiple ways you can go about working around this. Here are some references:
https://blogs.msdn.microsoft.com/jorman/2007/08/31/loading-c-assemblies-in-asp-net/
https://stackoverflow.com/questions/2907169/asp-net-load-unmanaged-dll-from-bin-folder
http://www.amithegde.com/2015/06/fixing-unmanaged-dll-not-found-exception-on-asp-net-app.html
Most likely you're missing one of the dependencies of ThomsonReuters.Udap.BusTools.dll in your build folder. Here's the list of the files you need to have in the build folder:
Common.Logging.dll
EikonPipeDll.dll
i18nresource.dll
protobuf-net.dll
Newtonsoft.Json.dll
ThomsonReuters.Desktop.SDK.DataAccess.dll
ThomsonReuters.Udap.BusTools.dll
ThomsonReuters.Udap.Ipc.Managed.Common.dll
ThomsonReuters.Udap.ManagedPS.dll
You may also need Microsoft C Runtime libraries (msvcp120.dll and msvcr120.dll) in the build folder if they're not found in the PATH.
Please also be advised that the data usage rights that come with Eikon only permit the usage of data retrieved from Eikon "for the user's individual use". If you're using data retrieved from Eikon in a Web server application, and you're only licensed for Eikon, you may be in violation of your contract with Thomson Reuters.
All these dlls along with msvcp120.dll and msvcr120.dll are present in the build folder.
Also, I verified licensing details and it seems the application we are developing is fine with the current license contract.
Can you please help me dubug further?
Couple more sanity checks:
1. Can you tell me the version of Eikon .NET SDK you downloaded from NuGet? Best if you just attach your packages.config file here.
2. You're trying to run this application on a machine where Eikon is installed, right?
Sure..
1. ThomsonReuters.Desktop.SDK.DataAccess.Signed version = 1.8.4
ThomsonReuters.Udap.Ipc.Signed version = 2.10.5
For reference, I have attached packages.txt (since .config files are not suppoerted here).packages.txt
2. Yes, Eikon is installed on the machine I am trying to run the application on.
You can use a Process Monitor tool to verify the problem.
In Process Monitor Filter, add the web server process, such as iisexpress.exe.
Select only Show System File Activity.
Focus on the file activities for ThomsonReuters.Udap.Bus.Tools.DLL and EikonPipeDll.dll. You need to verify the location of files used by the process to load the libraries.
Can you please take a look at log file generated by Process Monitor tool?
I have also attached a fileter screenshot.