All Versions
Latest Version
Avg Release Cycle
122 days
Latest Release
2097 days ago

Changelog History

  • v4.2.0 Changes

    August 24, 2018

    ๐Ÿš€ This release fixes a variety of bugs due to bugs in or incompatibilities with SharpGenTools 1.0.0. The packages are available on NuGet.

  • v4.1.0

    May 31, 2018
  • v4.0.1 Changes

    May 30, 2017

    ๐Ÿ— This version is only a fix for publishing signed assemblies that were not part of 4.0.0 build.

    ๐Ÿš€ For more information about 4.0.0, check directly the 4.0.0 release notes.

  • v4.0.0 Changes

    May 29, 2017


    ๐Ÿš€ 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

    ๐Ÿ— Build

    • โž• Add AppVeyor.yml build (changes)
    • ๐Ÿ›  Fix appveyor.yml bis (changes)


    • โž• 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)
  • v3.1.1

    October 27, 2016
  • v3.1.0 Changes

    October 19, 2016

    ๐Ÿ”„ Changelog between 3.0.2 and 3.1.0 version

    ๐Ÿ— Build

    • โž• Add info for building on VS 2015 to (changes)
    • โž• Add info for building on VS 2015 Update 3 (changes)
    • โšก๏ธ Update (changes)
    • โšก๏ธ Update solution version to VS2015 (changes)


    • โž• add lost CodeComments.xml file (changes)
    • ๐Ÿ›  fix OnMonitorChanged (changes)


    • โšก๏ธ update mapping for Direct2D (changes)
    • โšก๏ธ update mapping for DirectWrite (changes)



    • โž• add support Device4 (changes)
    • ๐Ÿ‘Œ Improve support Direct3D 11.3 (changes)
    • โœ‚ remove nameof operator (changes)
    • ๐Ÿ“‡ rename RaterizerState.cs => RasterizerState.cs. (changes)
    • ๐Ÿ›  Fix for null reference exception in DeviceContext.RasterizerStage (changes)


    • Simplify marshaling for PR #773 (issue #667) (changes)
    • Disable code generation for ID3D12RootSignatureDeserializer and RootSignatureDescription. Rely on manual marshaling instead. (changes)


    • ๐Ÿ”„ change assembly description (changes)


    • add mapping DXGI_OVERLAY_SUPPORT_FLAG (changes)
    • ๐Ÿ›  fix mapping for StoreApp (changes)
    • FormatHelper public static method's convert to extensons (changes)
    • ๐Ÿ‘Œ Improve to DXGI 1.5 (changes)


    • ๐Ÿ”„ change copyright date (changes)


    • ๐Ÿ›  fix bug in Collision.ClosestPointPointTriangle() (changes)


    • โช Revert "remove" to keep around mapping.xml for MediaFoundation/DirectX (changes)
    • ๐Ÿ”„ changes to add support for the SharpDX.MediaFoundation/DirectX code (changes)


    • โž• Add missing method to create Target from Device (changes)


    • โž• Add .editorconfig file. (changes)
    • ๐Ÿ›  Fix bug in #785 in DataStream (changes)
    • ๐Ÿ›  fix initialization of local blockAlign with default values. (changes)
    • ๐Ÿ›  Fix issue with signing assemblies from PR. Remove SharpDXSign config from and setup this from AppVeyor (changes)
    • ๐Ÿ›  Fix the missing arguments and broken test (changes)
    • ๐Ÿ›  Fix: Memory leak for D3D11 device when CreateWithSwapChain is used (changes)
    • ๐Ÿ›  Fixed #744 DeviceContext1.ClearView()'s 'color' parameter is of type 'float' when it should be a 'RawColor4'. (changes)
    • ๐Ÿ›  fixup locations of DirectX support inside SharpDX.MediaFoundation (changes)
    • ๐Ÿ‘ GraphicsCommandList improvements and add better BeginEvent and SetMarker methods. (changes)
    • ๐Ÿ‘Œ Improve Equals Size2, SizeF (changes)
    • Leak Device (changes)
    • Mapping improvements for ID3D11On12Device and Direct3D12 ResourceStates. (changes)
    • Modification of ReadFromSubresource API / ReadFromSubresourceใฎไฟฎๆญฃ (changes)
    • ๐Ÿšš move to correct location (changes)
    • ๐Ÿšš Moved the re-added DirectX source code, and the generated under 2.6.3 files into a Desktop only conditional, along with references to SharpDX.Mathematics and SharpDX.Direct3D9 (changes)
    • ๐ŸŒฒ Output a markdown file for the git log (changes)
    • RawInputEventArgs (and thus also HidInputEventArgs, KeyboardInputEventArgs, and MouseInputEventArgs) now has a WindowHandle property that can be used to retrieve the handle of the window that received the raw input event. (changes)
    • โœ‚ remove (changes)
    • Replaced perspective view matrix calculation (changes)
    • โฌ†๏ธ ReSharper settings upgrade (changes)
    • SwapChain.Present and SwapChain1.Present now return their result codes so that the application can check whether the window is occluded. This should resolve #746. (changes)
    • The SharpDX commit b9f7519 causes the .NET Native compiler to crash. (changes)
    • โšก๏ธ Update CustomDevice.cs (changes)
    • โšก๏ธ Update MouseState.cs (changes)
    • Validate blockAlign can be cast to short (changes)


    • โฌ†๏ธ Bump to latest samples (changes)


    • ๐Ÿ›  StringToHGlobalUni is not necessary since it is already the same layout as .NET strings, use "fixed" instead (changes)
  • v3.0.2 Changes

    March 11, 2016

    ๐Ÿš€ Maintenance release fixing an issue with XAudio2

  • v3.0.1

    January 17, 2016
  • v3.0.0 Changes

    December 25, 2015

    SharpDX 3.0.0

    ๐Ÿš€ This is the final release for the 3.0.0 version bringing some major new features and changes:

    • Add support for Direct3D12 to get the best of your graphics card (only compatible with Windows 10 10586)
    • Thanks to the work from the diet branch, SharpDX main assembly is a bit more lightweight.
    • ๐Ÿ‘ We have simplified the distribution and packaging by supporting only 2 platforms and .NET versions:
      • Desktop with .NET 4.5
      • StoreApp with PCL .NET 4.5 valid for Windows 8.1+ and Windows Phone 8.1+ development
    • ๐Ÿšš All Mathematics (Vector3, Vector4...) have been moved to a dedicated assembly. The reason behind this change is to put SharpDX on a diet, where higher level API (like Xenko, MonoGame...) are no longer forced to include this API. In order to support this, all SharpDX assemblies are now using interop types (RawVector3, RawVector4 from SharpDX.Mathematics.Interop namespace)
    • A new assembly SharpDX.Desktop that contains RenderForm, RenderLoop previously in SharpDX assembly
    • โœ… XInput and XAudio are now providing a backward compatible interface between the various versions. For Desktop, it means that the runtime will try to detect the correct versions for XInput (9.10, 1.3, 1.4) or XAudio (2.7 or 2.8). For Store Apps, the latest one will be used.

    Assemblies are both available from a zip and from NuGet.
    Note that distribution from NuGet should be now more stable and usable than previous versions due to the diet work.

    We have also clean-up the API:

    • ๐Ÿ‘ The DirectX June 2010 SDK is no longer supported. For example, methods like DX11 are no longer supported (e.g. Texture.FromFile...)
    • ๐Ÿšš Direct3D10 API has been removed
    • ๐Ÿ‘ The Toolkit is no longer supported and distributed
    • ๐Ÿ—„ Direct3D9, DirectSound, DirectInput, RawInput have been frozen so that the code generated from SharpGen codegen from C++ is no longer running. It means that these APIs will no longer receive major changes and should be considered as deprecated.

    Projects that are still requiring to use .NET 2.0 or .NET 4.0, or API like Direct3D10 will have to continue using SharpDX 2.6.3.

    ๐Ÿ— Building from the sources

    ๐Ÿ In order to compile SharpDX from the sources, It requires to install the Windows SDK for Windows 10

    How to use the samples

    The samples are now part of a submodule of the SharpDX repository. In order to use the sample, you can download the SharpDX zip binaries and unzip the Bin directory so that it is at the same level than the Samples directory:

    • Bin\DesktopApp\SharpDX.dll...etc.
    • Samples\Desktop\...... etc.

    Some scripts will be added later to simplify the setup of the samples.