ILNumerics® Visual Studio Extension - FAQ
ILNumerics Ultimate VS is deployed using Windows Installer technology (MSI). The installer package not only installs all binaries into the Windows GAC and into corresponding system folders, it also installs the ILNumerics Visual Studio Extension for all supported Visual Studio versions which are found on your machine.
What versions of Visual Studio are supported?
Since version 4.4 of ILNumerics Ultimat VS we support Ultimate, Premium and Professional editions of Visual Studio® 2015 and later. Note, that Visual Studio® Express Edition does not support the loading of custom extensions. However, all other editions, including the the Community Edition, do.
What exactly is being installed?
The MSI installer includes a VSIX package which contains the Visual Studio Extension. The VSIX is copied into the ILNumerics installation directory and is automatically installed during the MSI installation. This requires user interaction, though! You will have to confirm some dialog boxes popping up during the installation.
The VSIX extension package installs the following features into Visual Studio:
- ILNumerics Array Visualizer
- C# project item templates: Computing Module template, Visualization Form template
- Panel tool window item
- ILNumerics assembly references, required by Visual Studio
Can I use ILNumerics Ultimate VS without Visual Studio?
While technically not required, Visual Studio is recommended for your development. ILNumerics has been used successfully in other environments and even without any IDE (yes this is still happening...) However, attempts to do so are not covered by our regular support services.
Can I use the Array Visualizer without using ILNumerics in my project?
Certainly yes! The Array Visualizer works for ...:
- All common .NET arrays: in C# and Visual Basic, in 32 and 64 bit, for N dimensions. If you are still not using ILNumerics arrays, it will help you to visualize your common .NET arrays nevertheless.
- For C/C++ the Array Visualizer works for all regular C-style arrays, pointer types (including void*), std::vector, std::array and std::valarray ...
- More languages (since 4.11): F# (see above), Fortran (all common arrays + arrays of derived types).
No reference to ILNumerics is needed in your project. Just stop at any line of code, fire up the Array Visualizer tool window and start watching your arrays!
Can I use ILNumerics with multiple versions of Visual Studio in parallel?
Without problems. ILNumerics Ultimate VS is in heavy use on multiple supported Visual Studio versions within the ILNumerics development team. It is, however, recommended to only install exactly one version of ILNumerics at the same time. If you ever happen to install another version of ILNumerics Ultimate VS as the one currently installed, it is recommended to uninstall the old version manually before installing the new version.
I want to uninstall ILNumerics Ultimate VS from my Visual Studio. How is this done?
We recommend to uninstall ILNumerics Ultimate VS using the common Windows "Progams and Features" dialog. You find the dialog in the control panel or by pressing the [WIN] key and start typing "Programs and Features". In the list of installed programs search for "ILNumerics" and deinstall it from your machine. Make sure to have closed all Visual Studio instances before.
If you only want to uninstall ILNumerics from your Visual Studio installation but keep the ILNumerics binaries for later use, you may utilize the "Extensions and Updates" dialog in the "Tools" menu of Visual Studio.
ILNumerics® Assembly References
If you need to add a reference to ILNumerics manually, use the Reference Manager Dialog for your Visual Studio Project. Make sure to search for 'ILNumerics' in the 'Framework' or 'Extensions' tab:
Note, that .NET Core projects do not utilize the GAC. Hence, references are imported from the ILNumerics installation \bin directory. By default, ILNumerics installs into "C:\Program Files (x86)\ILNumerics".
Common Problems with the Visual Studio Extension
The Array Visualizer displays a "Timeout" message
Make sure to select a hardware accelerated driver for the plots. In the VS "Tools" menu, select the ILNumerics section and chose "OpenGL" as renderer for the Array Visualizer.
If you cannot use OpenGL (because your machine does not support a recent OpenGL version of at least 3.3) you will fall back to GDI automatically. Make sure to keep your expression results within reasonable range than! If you still see timeouts, consider decreasing the data dimension size setting in the Visual Studio Options dialog (ILNumerics tab -> Array Visualizer section) in order to prevent from timeout errors by downsampling your data.
How to control the timeout period for GDI drivers
If you stuck with GDI rendering, you should expect lower frame rates. Also, in order to prevent the Debugger session from timing out, GDI renderer introduces its own timeout for displaying large data. The renderer will cancel the current frame once the selected time span has been used up and present the partial result together with an overlay: "Timeout". One can control the max time span reserved for rendering in the ILNumerics section of the VS Tools -> Options dialog. It is recommended to use values of less than 1 second in order to prevent the debug engine from timing out. Such timeout will be signaled by the debug engine by generating messages like "The expression cannot get evaluated because an earlier expression evaluation has timed out". If you encounter such messages frequently, decrease the timeout limit in the ILNumerics options dialog.
The item templates are not available from the Add New dialog
Make sure to have selected the Project node of a C# or Visual Basic project in the Solution Explorer. Visual Studio does allow one to right click on the Solution node also. But this would not expose the ILNumerics item templates as a valid choice. Item templates can be added to a C# or Visual Basic project only.
The Panel toolbox item is not visible
Visual Studio displays the ILNumerics.Drawing.Panel item in the toolbox only, if a Windows Forms form is displayed in the Visual Studio Designer view. Double click on the Form1.cs in an auto-generated Windows Forms Application in order to open the designer view of the form. Now the Panel item is available in the ILNumerics section of the Visual Studio Toolbox. Read here if the Panel control is still not available and you want to add the control manually to your toolbox.
After installing ILNumerics Ultimate VS the Visual Studio Extension does not show up
Cases have been reported where the extension has not been installed successfully. Most the time, this happened in the context of roaming profiles and Active Directory. Sometimes the determination of the correct installation folder is failing in such situations. In order to workaround that issue, follow the next simple steps:
- Go to the ILNumerics Installation folder. The installation folder was determined during the installation of ILNumerics Ultimate VS. By default it is found at C:\Program Files (x86)\ILNumerics\[EDITION_NAME]
- From the \bin subfolder find and double click the ILNumericsUltimateVS.vsix file.
The Visual Studio VSIX installer will show up and lead your through the process of installing the extension for all available versions of Visual Studio. Notice that you will have to manually deinstall ILNumerics from the Visual Studio Editions if you have done the installation in this manual way.