Archived

This forum has been archived. Please start a new discussion on GitHub.

How to diagnose the cause of an icebox error?

Hi,

If I run a server in console mode, it works fine.

However, if I compile the server in .dll mode, and add the necessary start/stop classes as per the demo in "Ice-3.4.1-demos\democs\IceBox\hello", it gives the following cryptic crossword error. How would I even begin to diagnose the cause of this error?
T:\GRIbacktest\Cs\WCF service for GRI\PhiData\PhiData.Ivolatility>iceboxnet.exe --Ice.Config=config.icebox
!! 3/8/2011 16:14:48:904 iceboxnet.exe: error: IceBox.FailureException
       reason = "ServiceManager: unable to load service 'serverReadDb.dll:PhiDataIvolatilityReadDbServiceI': unable to load assembly: serverReadDb.dll"
      at IceBox.ServiceManagerI.startService(String service, String entryPoint, String[] args)
      at IceBox.ServiceManagerI.run()
   Caused by: System.IO.FileNotFoundException: Could not load file or assembly 'serverReadDb.dll' or one of its dependencies. The system cannot find the file sp
ecified.
      at IceBox.ServiceManagerI.startService(String service, String entryPoint, String[] args)

My environment:
- v3.4.1 of ICE
- Windows 7 x64
- The "hello" demo, mentioned above, works fine (so paths are set up properly).

Comments

  • xdm
    xdm La Coruña, Spain
    Hi,

    Do you have a file named serverReadDb.dll in the directory where you run iceboxnet.exe? The dependencies for this dll also need to be in the same directory, or alternatively installed in GAC.

    If your service targets .NET 4.0 don't forget to add the configuration file for iceboxnet.exe to run with .NET 4.0 as explained in previous post
  • Found the problem: the .dll has to be compiled for "All CPU". If its compiled for "x32", it won't work.

    Would be very nice to have an error message that gives some meaningful feedback - that took me 4 hours to fix, I was almost about to give up and switch to another architecture that didn't involve ICE :(
  • xdm wrote: »
    Hi,

    Do you have a file named serverReadDb.dll in the directory where you run iceboxnet.exe? The dependencies for this dll also need to be in the same directory, or alternatively installed in GAC.

    If your service targets .NET 4.0 don't forget to add the configuration file for iceboxnet.exe to run with .NET 4.0 as explained in previous post

    Thank you for your time to reply to my initial post, everything is working fine now.