Archived

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

Visual Studio 2010 Integration

Hello guys,

I am going to present Ice in our company on Thursday and installed Visual Studio 2010 Professional just to have the IDE Integration of Ice going. Installation took me half a day and now seems all but useless since the Integration was not hooked in. I tried to repair Ice-3.4.1 already but that didn't help.

Can you provide some quick help so I get it going till tomorrow?

Thanks in advance,
Christian

Comments

  • benoit
    benoit Rennes, France
    Hi,

    Did you install Visual Studio 2010 after installing Ice 3.4.1? Did you try to uninstall and install Ice again?

    Cheers,
    Benoit.
  • Of course I installed Ice after installing VS2010... and I did not try to uninstall and reinstall Ice yet. But I shall do that in a moment.

    I'll come back later,
    Christian
  • Allright, I also installed VS2008 SP1 (which took me half a day once more :) Then I uninstalled Ice and reinstalled it. Now I seem to have the Integration for VS2008 but not for VS2010. The next step is to build the demos solution from within the IDE. That still fails, I can only build from command line.

    So far your Visual Studio Integration does not make me happy :mad:

    Hopefully I'll figure it out,
    Christian
  • bernard
    bernard Jupiter, FL
    Hi Christian,

    This sounds like an installation issue, which should fortunately be easy to figure out.

    Could you confirm that:
    - in your Ice-3.4.1\bin directory, there is an IceVisualStudioAddin-VS2010.dll?
    (there is a IceVisualStudioAddin-VS2008.dll in that directory since the VS2008 integration works for you)

    - in your "Documents\Visual Studio 2010\Addins" directory, there is a file Ice-VS2010.Addin?

    Thanks,
    Bernard
  • I found the missing hook! The correct Folder on my system is "My Documents\Visual Studio 10\Addins", so I simply moved your files to where they belong.

    Now VS 2010 also has the Integration. However, I did not succeed in building any C++ or C# demo project so far. The slice-compiler-step is missing. And the Integration crashes when I change a setting and push the "close"-button. :mad:

    Have to go home right now but will try to proceed tomorrow morning...

    Thanks so far,
    Chris
  • bernard
    bernard Jupiter, FL
    Hi Christian,

    I just tried the following on a brand new Windows XP Pro SP3 VM:

    - installed Visual Studio 2010 Premium (default, i.e. full install)

    - installed Ice 3.4.1 (also default install)

    - started VS2010 to verify add-in was properly installed (it was)
    the add-in file is C:\Documents and Settings\<XP user>\My Documents\Visual Studio 2010\Addins\Ice-VS2010.Addin

    - extracted the demos from C:\Program Files\ZeroC\Ice-3.4.1\demos.zip into C:\Documents and Settings\<XP user>\My Documents

    - opened and converted My Documents\Ice-3.4.1-demos\demo\demo.sln
    to Visual Studio 2010 format (the conversion took a long time!)

    - built the solution (default settings)
    the first messages were a bunch of "Slice compilation started" and "Slice compilation completed"

    All these C++ demos built successfully, except the Freeze demos (because they require IceHome to be set - see the demo README). After setting IceHome as a system environment variable and restarting Visual Studio, all the C++ demos built successfully.

    What did you do different?

    Where did the Ice 3.4.1 MSI install the Ice-VisualStudio2010.AddIn file on your system?

    Thanks,
    Bernard
  • Good morning Bernard,

    let me try to reconstruct what I did.

    - I had Ice 3.4.0 on my system and a VS 2010 Beta.
    - I deinstalled the Beta.
    - I installed VS2010 Pro to the default location (and it created a folder "Visual Studio 10" in "My Documents")
    - I installed Ice 3.4.1 to a different drive
    - I repaired Ice 3.4.1, didn't work (probably because of the above folder)
    - I converted all the demo projects from within VS2010 and tried to build them
    - I deinstalled both Ice versions
    - I installed VS2008 Pro to the default location
    - I then installed SP1 for VS2008 Pro (which took a long time as well)
    - I installed Ice 3.4.1 to a different drive again (where I have all the libraries)
    - I set environment variables ICE_HOME and added bin to the path
    - VS2008 integration came up but crashed the Studio on clicking "Close"
    - Building the demos solution in VS2008 fails
    - After moving all files from a freshly created "Visual Studio 2010" to "Visual Studio 10" I also have the integration in VS2010 up and going.
    - Building the converted demos solution in VS2010 fails
    - Building the demos solution from VS2008 command line succeeded

    So, that is the status quo and I am going to try hard to get it working but honestly lack the ideas.

    Sincerely, Christian

    PS: I saw that you set $(IceHome) - the README says nothing about this but uses $(ICE_HOME) instead?
  • Good news

    Setting $(IceHome) did it!! Now I can compile the demos from within VS2008 and VS2010.

    However, changing any Ice setting with the Ice plugin dialog and clicking Close still kills my VS2008 ungraciously! Debugging the issue shows I am in "C:\Program Files\Microsoft Visual Studio 9.0\VC\crt\src\dbghook.c" in line 65 within
    __declspec(noinline)
    void __cdecl _CRT_DEBUGGER_HOOK(int _Reserved)
    {
        /* assign 0 to _debugger_hook_dummy so that the function is not folded in retail */
        (_Reserved);
        _debugger_hook_dummy = 0;
    }
    

    Do you have any idea?

    PS: Interestingly the plugin is well-behaved in VS2010 so I am going to use that in my presentation...
  • bernard
    bernard Jupiter, FL
    Hi Christian,

    I think some of your problems with the Visual Studio 2010 plugin are related to your installation and apparently partial un-installation of Visual Studio 2010 beta:

    changing the default folder from visual studio 10 to visual studio 2010

    The folder is supposed to be "Visual Studio 2010", not "Visual Studio 10".

    It's great that setting $(IceHome) solved some of these issues, although I don't see why it did.

    The build system for the Freeze C++ demos uses this environment variable (IceHome); IceHome is set automatically by the add-in ... however this env-setting does not appear to work with Visual Studio 2010 and that's why you need to set it manually to build these demos.

    Good luck with your presentation!

    Best regards,
    Bernard