Maintained at https://github.com/OSVR/Managed-OSVR
For details, see http://osvr.github.io
For support, see http://support.osvr.com
.NET Binding for OSVR - "Managed-OSVR"
The solution contains the ClientKit wrapper (in both .NET 2.0 and 4.5 versions) and ported examples based on the C++ examples from the core.
Bundled binary snapshot
Windows native DLLs are bundled in the
osvr-core-snapshots directory. The are presently from the snapshot identified as:
Instead of just "Debug" and "Release" configurations, there are "Debug45", "Release45", "Debug20", and "Release20" configurations - the suffix indicates the version of the .NET Framework being compiled against. The assembly information of a compiled binary indicates which framework was used, and distinct build directories are used as well.
MSBuild Requirements and Properties
Some MSBuild tweaking was involved in getting the multi-framework targeting and native library copying working. Though the build can produce a .NET 2.0 assembly, you'll need at least 4.0 and the corresponding MSBuild to execute these builds.
If you prefer to exclusively use MSBuild, or want to build all variants at once, just run
msbuild Managed-OSVR.proj /target:<TARGET> where
<TARGET> is replaced by one of:
ClientKit- to just build the main assembly, in all four configurations.
Examples- to just build the examples, in all four configurations.
Build(or with the
/targetflag omitted - build everything in all configurations
Clean- clean all projects, all configurations.
For command-line builds, the following properties (centralized in
msbuild/CopyNativeLibraries.targets may be interesting. Note that to pass things into the
Managed-OSVR.proj superproject, you'll need to set those properties in an MSBuild file, passing the path as the property
PropFile. You can add the target
/t:CheckPropFile to ensure that the build was able to find and use your
PropFile - recommended.
Configuration- A standard MSBuild property, but with the distinct meanings discussed above in Build Options, including automatically setting
TargetFrameworkVersion. This is the only property besides
PropFilethat can be passed to the superbuild and propagate successfully.
BuildRoot- The parent directory that will contain
obj- defaults to a directory named
buildin the repository root. Relative to the repository root.
NativeRoot- Defaults to the bundled
osvr-core-snapshotsdirectory, but you can point it to a similarly-laid-out alternate directory. If you look in the corresponding targets file, you'll see that you can override the locating of the native libraries additionally/instead at each level of granularity, to accommodate any sort of build environment.
This project: Licensed under the Apache License, Version 2.0.