I started a project to build a game engine. As a result of circumstance, I won't have the luxury of building the engine in C++, so I'm going to have to settle for C# with the .NET Core.

Given that background, I thought I would use SharpDX to supply me with some basic functionality to build my engine on top of, except it seems like SharpDX doesn't support .NET Core, and only supports .NET Native. After testing it, and trying to include SharpDX in my dependencies file, Visual Studio Code explicitly tells me that SharpDX conflicts with .Net Core and it couldn't be installed. However, an issue posted to their GitHub page seems to imply that they might support .NET Core.

Unfortunately, this is the only piece of information I found regarding SharpDX supporting .NET Core, so I'm not entirely sure if support was ever implemented or not. Perhaps I'm just not including it correctly in my project file.

Does SharpDX support .NET Core, and if so how do I link against those libraries properly in VS Code?


So, for anybody looking to find an answer to this in the future, the answer is "No." You can not use SharpDX with .NET Core (note that VS Code supports only .NET Core if you develop in C#).

Your options are not using SharpDX or porting to VS Community. I personally chose to port to VS Community because it is a trivial move and allowed me to continue to use SharpDX. Not using SharpDX is not particularly practical for people looking to have the experience of creating your own game engine from the ground up (without using C++), because the alternatives are somewhat non-existent now. OpenTK is dead, SlimDX is dead, and Monogame (and other frameworks of that ilk) are a little too "engine-y" as it is in my opinion to get the whole experience.

Anyway, that's what I found after multiple hours of searching, but if you have any insight to add, don't hesitate to leave a comment.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.