Ignite.NET is built on top of Ignite and provides native APIs for .NET developers.
Even though Ignite.NET can be developed and run on VS2010 and JDK7, it is more common to use latest Visual Studio and JDK.
Assuming that we are on up-to-date Windows x64 installation:
For more details on working with GitHub forks and pull requests see How to Contribute#GitProcess
In root source folder execute "mvn clean package -DskipTests" command.
When doing pure .NET development, you only need to run this every time you update your branch from master.
Upgrading C++ compilers and libraries causes two vcxproj files to be modified. You should not commit them, but they get in the way. To fix this, execute the following PowerShell command in the root folder:
This command can be reverted by:
Ignite.NET uses NUnit for unit tests. You can run them with ReSharper right away, or with NUnit Test Adapter for Visual Studio.
Coding guidelines compliance is checked by .NET Inspections TeamCity suite (it runs Visual Studio inspections and ReSharper inspections).
Apache.Ignite.Core.dll assembly includes unmanaged "ignite.jni.dll" as a resource.
AnyCPU build includes two dlls, x64 and x86 (that's why the build takes longer). AnyCPU build requires both x86 and x64 JDK installed.
ignite.jni.dll requires corresponding (x64 or x86) JDK at compile time and JRE at run time.
Ignite.NET loads one of the dlls according to current execution mode (see UnmanagedUtils initializer), and attempts to resolve corresponding JRE using Windows Registry, if the JAVA_HOME variable is not set (IgniteUtils.GetJvmDllPaths).
x64 and x86 solution configurations rely on normal build process where C++ projects are built as dependencies. AnyCPU build, however, uses "build-common.ps1" PowerShell script as a pre-build event of Apache.Ignite.Core project to build C++ parts as both x64 and x86.
There is a build.ps1 file in modules/platforms/dotnet folder (and build.bat that just calls build.ps1 so you don't have to run PowerShell manually).
This build script performs end to end build, including Java, .NET and NuGet. NuGet can be built only in AnyCPU mode (which requires both x64 and x86 JDK installed).
To build everything and produce release binaries (in bin folder) and NuGet packages (in nupkg folder), run the script without parameters.
Run `Get-Help .\build.ps1 -detailed` PowerShell command to view detailed build script documentation.