question

Upvotes
Accepted
3 0 1 3

Error loading 'ThomsonReuters.Udap.BusTools.DLL' assembly.

Run Time Exception occurs saying the module could not be found.
Please see attached screenshot.eikonapierror.png

eikoneikon-com-api
eikonapierror.png (165.3 KiB)
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Could I ask you what you are trying to do?

I am trying to fetch real-time data using Eikon API.
Its a C# application

Is it an ASP .NET project?

Show more comments

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.

Upvote
Accepted
39.3k 76 11 27

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

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

This works!
Thank you Alex for help.

Upvotes
39.3k 76 11 27

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.

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

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.

packages.txt (2.7 KiB)
Show more comments
Upvote
45.2k 103 43 60

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.


process-filter.png (64.8 KiB)
file-filter.png (94.3 KiB)
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Can you please take a look at log file generated by Process Monitor tool?
I have also attached a fileter screenshot.

processmonitorfilters.png

processmonitorlogfile.zip