Results 1 to 5 of 5

Thread: Icebox for .NET 4.0?

  1. #1
    Gravitas is offline Registered User
    Name: Shane Tolmie
    Organization: NeuralFutures LLC
    Project: Server modules in C++, C# and Java, to client.
    Join Date
    Feb 2011
    Posts
    40

    Icebox for .NET 4.0?

    Currently, as icebox is built for .NET 3.5, it cant host .NET 4.0 .dlls. In addition, if you want to run icebox on an small Amazon EC2 machine (which is always 32-bit), icebox wont work: its a 64-bit build.

    So: is it poassible to download a version of ICE that supports .NET 4.0, and provides separate 32-bit and 64-bit builds of icebox? If not, what are
    the steps to build this myself from source?

  2. #2
    xdm's Avatar
    xdm
    xdm is offline ZeroC Staff
    Name: Jose Gutierrez de la Concha
    Organization: ZeroC, Inc.
    Project: Ice Developer
    Join Date
    Sep 2003
    Location
    La Coruña, Spain
    Posts
    588
    Hi
    Currently, as icebox is built for .NET 3.5, it cant host .NET 4.0 .dlls.
    You can host .NET 4.0 services in iceboxnet, using an application configuration file for iceboxnet.exe.

    iceboxnet.config.exe
    Code:
    <?xml version="1.0"?>
    <configuration>
     <startup>
       <supportedRuntime version="v4.0" />
     </startup>
    </configuration>
    if you want to run icebox on an small Amazon EC2 machine (which is always 32-bit), icebox wont work: its a 64-bit build.
    Ice binary distribution provide icebox 32 and 64 builds, in bin and bin\x64 directories respectively, note that icebox is used to load C++ services, for .NET you use iceboxnet that is a .NET application.

  3. #3
    Gravitas is offline Registered User
    Name: Shane Tolmie
    Organization: NeuralFutures LLC
    Project: Server modules in C++, C# and Java, to client.
    Join Date
    Feb 2011
    Posts
    40
    Thank you for explaining how to use iceboxnet with .NET 4.0 .dll's.

    However, I can't seem to find the x32 version of "iceboxnet.exe".

    Here is the output from corflags in the x32 folder:

    Code:
    C:\Program Files (x86)\ZeroC\Ice-3.4.1\bin>corflags iceboxnet.exe
    Microsoft (R) .NET Framework CorFlags Conversion Tool.  Version  4.0.30319.1
    Copyright (c) Microsoft Corporation.  All rights reserved.
    
    Version   : v2.0.50727
    CLR Header: 2.5
    PE        : PE32
    CorFlags  : 1
    ILONLY    : 1
    32BIT     : 0
    Signed    : 0
    As you can see, its a 64-bit build.

    Here is the output from corflags in the x64 folder:

    Code:
    C:\Program Files (x86)\ZeroC\Ice-3.4.1\bin\x64>corflags iceboxnet.exe
    Microsoft (R) .NET Framework CorFlags Conversion Tool.  Version  4.0.30319.1
    Copyright (c) Microsoft Corporation.  All rights reserved.
    
    corflags : error CF002 : Could not open file for reading
    As you can see, there is no file in the x64 folder.

    So, to fix this problem, you need to:

    1. Shift the x64 build of "iceboxnet.exe" from the x32 folder into the x64 folder.
    2. Create a x32 build of "iceboxnet.exe" and put it into the x32 folder.

    As an aside, I think you should display some meaningful error when the user attempts to load a .NET 4.0 .dll into "iceboxnet.exe". I just assumed that it was impossible, as the error message did not indicate the source of the problem, and nothing else worked except for recompiling a .NET 3.5 .dll (I also spent a lot of time trying to diagnose this problem).
    Last edited by Gravitas; 03-07-2011 at 05:56 PM.

  4. #4
    xdm's Avatar
    xdm
    xdm is offline ZeroC Staff
    Name: Jose Gutierrez de la Concha
    Organization: ZeroC, Inc.
    Project: Ice Developer
    Join Date
    Sep 2003
    Location
    La Coruña, Spain
    Posts
    588
    As you can see, there is no file in the x64 folder.
    There is only bin\iceboxnet.exe because it is a .NET application. We provide 32/64 for C++ services/libs.

    For .NET the same executable run 32/64 bit mode. The 32BIT flag you show, is to force to run iceboxnet.exe in 32bit mode in a 64 bit OS.

  5. #5
    Gravitas is offline Registered User
    Name: Shane Tolmie
    Organization: NeuralFutures LLC
    Project: Server modules in C++, C# and Java, to client.
    Join Date
    Feb 2011
    Posts
    40
    Thanks, I understand now. As an aside, I tried compiled a .NET 4.0 version by downloading the source and running nmake. It worked, however, its probably just as easy to use a custom .config file on the official release.
    Last edited by Gravitas; 03-07-2011 at 06:56 PM.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. Using ICE in .NET 1.1 && .NET 2.0
    By dmitry.medvedev in forum Help Center
    Replies: 8
    Last Post: 01-27-2006, 03:48 AM
  2. .NET 2.0 and IceBox
    By kovacm in forum Comments
    Replies: 1
    Last Post: 12-02-2005, 03:10 PM
  3. IceSSL for C#/.NET
    By kwaclaw in forum Comments
    Replies: 2
    Last Post: 09-27-2005, 10:49 AM
  4. .net
    By bolidecaster in forum Comments
    Replies: 9
    Last Post: 07-22-2003, 09:39 AM
  5. .net
    By matthias in forum Comments
    Replies: 2
    Last Post: 02-19-2003, 05:20 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •