.NET Application Development Walkthrough
This section describes how to set up a .NET native client development environment using C# and CMake.
Prerequisites
This walkthrough assumes that certain components are in place:
The Geode Native Client libraries. Install the Native Client as described in Getting Started with the Native Library. Follow the ease-of-use recommendations by installing the Native Client in
C:\Program Files\nativeclient
.The CMake tool suite. Download and install CMake, following the instructions on cmake.org.
Geode: Install and configure Geode. See the Geode User’s Guide for instructions and system requirements.
Visual Studio 2015 or higher and .NET 4.5.2.
To develop a Native Client application using .NET and CMake:
- Create a project directory structure
- Populate the project directories with C# source code
- Configure the CMake build environment
- Run CMake to configure your application
- Build and run your application using Visual Studio
Setting up Directories and Sources
Create a project directory structure. In this example, the project is called MyProject. The directory structure provides a place for your application source files and a
cmake
modules directory for project-specific CMake files:MyProject\ cmake\ FindGeodeNative.cmake CMakeLists.txt Program.cs
Change directory to MyProject and create your application sources. In this example, we have one source file,
Program.cs
.
Configuring CMake
Copy the
FindGeodeNative.cmake
script from one of the Native Client examples to thecmake
subdirectory.Create CMakeLists.txt. Copy the file from an example, if you like, as a starting point. The CMakeLists.txt file should contain the following CMake instructions:
CMake minimum version
cmake_minimum_required(VERSION 3.10)
Your project name and language
project(MyProject LANGUAGES CSharp)
Path to the CMake modules directory where the
FindGeodeNative.cmake
script is located and an instruction telling CMake to use it:set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake) find_package(GeodeNative REQUIRED COMPONENTS dotnet)
The compilation target and the source(s) to be compiled
add_executable(MyProject Program.cs) target_link_libraries(MyProject PUBLIC GeodeNative::dotnet) set_target_properties(MyProject PROPERTIES VS_DOTNET_TARGET_FRAMEWORK_VERSION "v4.5.2" VS_DOTNET_REFERENCES "System;${GeodeNative_DOTNET_LIBRARY}")
Combined, the above elements comprise the following CMakeLists.txt:
# CMakeLists.txt for .NET Native Client App
cmake_minimum_required(VERSION 3.10)
project(MyProject LANGUAGES CSharp)
set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake)
find_package(GeodeNative REQUIRED COMPONENTS dotnet)
add_executable(MyProject Program.cs)
target_link_libraries(MyProject
PUBLIC
GeodeNative::dotnet)
set_target_properties(MyProject PROPERTIES
VS_DOTNET_TARGET_FRAMEWORK_VERSION "v4.5.2"
VS_DOTNET_REFERENCES "System;${GeodeNative_DOTNET_LIBRARY}")
Configuring the App
Create a build directory and set it as your current directory:
$ mkdir build $ cd build
Run CMake to configure the build:
$ cmake ..
This creates a Visual Studio solution for your .NET application. For example, MyProject.sln
.
Building and Running the App
Open the solution file in Visual Studio and build the project.