The Microsoft .NET SDK for the Rackspace Cloud
C# Visual Basic C++ F# Batchfile PowerShell
Pull request Compare This branch is 248 commits behind openstacknetsdk:master.
Latest commit 25869d1 Aug 17, 2015 @carolynvs carolynvs Don't overwrite a custom set HttpClientFactory
An end-user, or unit tests, should be able to set a custom
HttpClientFactory and not have OpenStackNet.Configure() nuke it. An OpenStack SDK for Microsoft .NET

Join the chat at

The SDK, written for the Microsoft .NET platform, is designed to enable developers to seamlessly work with the many services provided by the OpenStack cloud operating system.

The SDK contains:

  • A language API
  • Getting Started Guide
  • API Reference Manual
  • Release Notes
  • Sample code


We welcome and encourage contributions from the developer community. For an overview of the contribution process, including an explanation of our issue labels and common emoji used in discussions, please see CONTRIBUTING.

Building from Source


The recommended development environment for this project is Visual Studio 2013 or Visual Studio 2015. When using Visual Studio 2015, a custom analyzer is provided which uses static analysis to identify common mistakes, and in many cases is able to automatically fix the issue.

Build script

Execute build.cmd to download all dependencies and build. Use build.cmd help or build.cmd /? to view the available command line arguments.

build.cmd [Build|UnitTest|Documentation|Package] [/Configuration Debug|Release]

# Execute Build target in Debug mode

# Execute UnitTest target in Debug mode
build.cmd UnitTest

# Execute Build target in Release mode
build.cmd /Configuration Release

# Execute Package target in Release mode
build.cmd Package /Configuration Release

See the Documentation README if you would like to build the Sandcastle documentation which is published to

Integration Tests

You must have an OpenStack environment to test against in order to run the integration tests. We use the all-in-one OpenStack Ansible Deployment to set everything up on a single server. The tests look for the identity endpoint and credentials in environment variables: OPENSTACKNET_USER, OPENSTACKNET_PASSWORD, OPENSTACKNET_PROJECT and OPENSTACKNET_IDENTITY_URL. After you have set the environment variables you will need to log out then log back in.

setx OPENSTACKNET_USER secretusername
setx OPENSTACKNET_PASSWORD secretpassword
setx OPENSTACKNET_IDENTITY_URL http://localhost:5000/v2.0

This is not an official OpenStack project