I am trying to use the File GDB API (1.2) .NET wrapper in an asp.net web service with no luck. The website will not load spitting out error: "Could not load file or assembly 'Esri.FileGDBAPI.DLL' or one of its dependencies. The specified module could not be found."
The .NET Wrapper works perfectly fine in a windows form application from my machine. Just to rule out the obvious:
- Esri.GileGDBAPI.dll, FileGDBAPI.dll, and FileGDBAPID.dll all are sitting in the bin of the website (along with OpenTK dll's)
- I have the prerequisite OpenTK installed
- Latest VC Runtime distributable installed.
- Website is targeting .NET 4.0
The fact that it runs fine in a windows form application gives me confidence that I have everything I need on my machine.
Does anyone have any other ideas and/or has anyone successfully used the .net wrapper in a .net webservice?
UPDATE: With the help of fuslogvw in the post I marked as the answer, I was able to to get the web service working after the directory containing the FileGDBAPI.dll and FileGDBAPID.dll was added to the 'Path' variable.
-
I hava this problem in ASP.NET too.I can't resolve this problem with many ways.Did you resolved this problem now?user7941– user79412012年06月01日 17:24:11 +00:00Commented Jun 1, 2012 at 17:24
-
I ultimately got it working by making sure the native dlls were in a folder in the PATH environment variable.user890– user8902012年06月02日 00:33:47 +00:00Commented Jun 2, 2012 at 0:33
2 Answers 2
Try enabling Fusion logging and inspect it with Fuslogvw to at least determine the reason for the assembly load failure: Debugging Assembly Loading Failures.
You might also try setting the application pool in which your website is running to the 32-bit mode.
The setting is called "Enable 32-bit applications" and you can find it under application pool's advanced setting in the IIS administration dashboard.