Skip to content
This repository has been archived by the owner. It is now read-only.
Choose a tag to compare


@xoofx xoofx released this
· 213 commits to master since this release
Choose a tag to compare


This new release of SharpDX contains:

  • Several bug fixes, see the full list below
  • A migration of the build system to VS 2017
  • Added support for the .NET Core Platform (netcoreapp1.0, netstandard1.1, uap10)

This release is the dedicated work of external contributors, thanks a lot for their work!

The binaries are accessible on nuget.

Changelog since v3.1.1



  • Add inherit on basic disposes and tostring (changes)
  • Fix include path in order to remove some warnings in visual studio (changes)
  • Fix path on compositor (changes)




  • Add code comments and fix include path where relevant (changes)


  • Fix documentation comments on function reflection. Add comment for return parameter (changes)


  • Restored generate documentation (changes)


  • Add desktop check and documentation to CapturePhotoConfirmation. (changes)
  • Add inherit for Size2F ToString (changes)
  • Add missing TypeExtensions file (changes)
  • Add Rebuild target to SharpDXGen (changes)
  • Add support for net40 target (issue #877) (changes)
  • Added build output for .NET Core apps and UWP apps for the core SharpDX library. Refactored some of the common properties into MSBuild .props and .targets files. (changes)
  • Added convenience mappings for capture sink methods that SharpGen didn't generate. (changes)
  • Added documentation for wrappers. (changes)
  • Added IFormattable to FourCC to provide customised string representation when building Media Foundation GUIDs. (changes)
  • Added mappings for IMFCaptureEngine and related APIs. (changes)
  • Added public Initialize method onto CaptureEngine. (changes)
  • Added shadows and vtables for callback interfaces. (changes)
  • Added useful constructors for the CaptureEngineClassFactory and the CaptureEngine. (changes)
  • Added vswhere executable to repo. (changes)
  • Changed all references to GCC Xml outside of the CastXml class to refer to CastXml. References in CastXml.cs stay because we are using the GCC-XML compatible output format. (changes)
  • Changed base package to use new project system. Currently builds on .net45 and netstandard1.1 (changes)
  • Changed SharpDX.Tests assembly to make tests discoverable in VS. (changes)
  • Changed solution structure and file to set up a build structure that generates NuGet packages in the Bin folder. (changes)
  • Cleaned up project style and removed now-unused .nuspec file (package info is in the .csproj and .props files) (changes)
  • Cleaned up SharpGen code gen for the different app types. Still a little glitchy, but is better than before (doesn't overwrite itself). (changes)
  • Converted build script to a cmd file. (changes)
  • Converted D3D10 to the new project system. (changes)
  • Converted DirectComposition to the new project system. (changes)
  • Converted SharpDX.Desktop to the new project system. (changes)
  • CoreCLR support: replaced HandleRef by IntPtr in Pinvoke routines as HandleRef is not present in CoreCLR/CoreFX. (changes)
  • Enabled binding APIs up to Windows 10 Redstone 1 (Anniversary Edition). Now bindings for all APIs available as of 3/16/2017 will be generated. (changes)
  • Fix appveyor.yml (changes)
  • Fix code comments for color, and add alpha description (changes)
  • Fix sharpdx.DirectComposition project metadata. (changes)
  • Fixed appveyor artifact path. (changes)
  • Fixed artifact path for NuGet Packages (changes)
  • Fixed Assembly mapping file checker to correctly detect changes and generate for the correct app type. (changes)
  • fixed help text BoundingBox -> BoundingSphere (changes)
  • Fixed paths in build script (changes)
  • Fixed PtrToStringAnsi and PtrToStringUni to correctly return null-terminating string instead of always returning string with maxLength chars (changes)
  • fixed (changes)
  • Freeing allocated string in DebugName setter (changes)
  • Fully populate derived structs (changes)
  • Got CastXML working to process the headers. Only a few glitches here and there that need to be fixed. (changes)
  • Improved CapturePhotoConfirmation mapping. (changes)
  • Making progress on getting sharpgen's detection of not needed work (only gen when needed) working correctly again. (changes)
  • Matrix3x2.Multiply now behaves like other Matrix.Multiply functions (changes)
  • Moved AssemblyInfo into the .props file. (changes)
  • Moved UWP support targets into SharpDX.targets (changes)
  • Moved XAudio2 to the new project system. (changes)
  • Moved XInput over to the new project system. (changes)
  • Ported over DirectInput to new project system. (changes)
  • Ported SharpDX.Mathematics over to the new project system. (changes)
  • Ported SharpDX.RawInput over to the new project system (net45 only because of WinForms dependency). (changes)
  • Provide mapping to IDWriteFontFallback::MapCharacters method (changes)
  • Re added conditional code signing. (changes)
  • RectangleF.Contains now includes right and lower border (changes)
  • Refactored code to use vswhere to find any compatible VS2017 or newer installation for the VC toolset location. (changes)
  • Refactored running SharpGen into a seperate MSBuild project because there were issues with the MSBuild glob includes finding the files if they were newly created before. (changes)
  • Remove parameter mapping. (changes)
  • Remove Windows 10 SDK requirement from the SharpGen batch script (this requirement is enforced with the Mapping files) (changes)
  • Removed dead code in SharpGen. (changes)
  • Removed GCCXML from the repo (changes)
  • Removed unused (outdated) build scripts. (changes)
  • Update DirectSound to the new project system. (changes)
  • update maping on window 10 SDK 15063 (changes)
  • update mapping for NTDDI_WIN10_RS2 (changes)
  • Update README to include requirements to build this branch (for when this is merged into master) (changes)
  • Update to new Reflection API that works equally well under both the .NET Framework and CoreCLR. (changes)
  • Updated appveyor.yml (changes)
  • Updated capture attributes to more accurate types. (changes)
  • Updated D3D11.Effects to the new project system. (changes)
  • Updated Direct2D1 project to new project system. (changes)
  • Updated Direct3D11 to the new project system. (changes)
  • Updated Direct3D12 to the new project system. Removed some unneeded props from a previous build change. (changes)
  • Updated Direct3D9 to use the new project system. Added in an MSBuild property to allow projects to opt out of SharpGen (i.e. when their code is not being generated). (changes)
  • Updated DirectManipulation to the new project system (changes)
  • Updated DXGI project to new project system. (changes)
  • Updated enumeration mapping. (changes)
  • Updated mappings to fix an issue in API partitioning that showed up with the new (multi-gen) code gen process. (changes)
  • Updated MediaFoundation to the new project system. (changes)
  • Updated project files to not refer to $(SolutionDir) so that dotnet restore would work. Added dotnet restore to the build script. (changes)
  • Updated props file to make packages pre-release. Made base version 4.0.0 because of breaking backward compatibility. (changes)
  • Updated SharpDX.Animation and SharpDX.D3DCompiler to new project system (incl nuget package generation) (changes)
  • Updated SharpDX.Animation to use the new project system. (changes)
  • Updated SharpGen to generate different app configurations based on a command line flag. Modify targets and project files to utilize this flag and optimally build the code with the different APIs in a single build. (changes)
  • Updated variant.cs for issue #787 (changes)


  • Add constructor overload on StaticSamplerDescription, to take a SamplerStateDescription as input. (changes)
  • Add overloads for SetDescriptorHeaps and SetVertexBuffers in GraphicsCommandList (changes)


  • "bases" Attribute is optional (changes)
  • "extern" attribute now only indicates an explicit extern storage qualifier. Use "inline" as it is equivalent for SharpDX, for now (changes)
  • Add CastXML binaries (CastXML/CastXML@c6cf62a) (changes)
  • Add fundamental type "bool" (changes)
  • Anonymous declarations have empty names in CastXML (changes)
  • Array types don't have "size" attribute anymore. "max" contains the correct dimension. (changes)
  • Clang lists attributes in reverse order (GCC too?). Also, writable/readable are pre-conditions (changes)
  • Correctly handle literals in Guids (changes)
  • Execute CastXML instead of gccxml (changes)
  • Fix path for include, to remove warnings as file was not found (changes)
  • Handle format of C++ floating point literals (changes)
  • In CastXML, init attributes contain expressions. Cast to correct type if necessary (changes)
  • Use "annotate" instead of "gccxml" attribute (changes)