我有一些用C#编写的DirectX项目,我需要专门通过Visual Studio 2012运行。
所有这些项目都使用名为“Microsoft.DirectX”的命名空间。
Microsoft Windows SDK在我的Windows 8计算机上完全成功安装,但是此命名空间仍然无法识别。
我的问题是,“如何使用C#,Visual Studio 2012和MS Windows SDK的组合来运行和开发DirectX应用程序?”
我有一些用C#编写的DirectX项目,我需要专门通过Visual Studio 2012运行。
所有这些项目都使用名为“Microsoft.DirectX”的命名空间。
Microsoft Windows SDK在我的Windows 8计算机上完全成功安装,但是此命名空间仍然无法识别。
我的问题是,“如何使用C#,Visual Studio 2012和MS Windows SDK的组合来运行和开发DirectX应用程序?”
我建议你去看看 SharpDX。这是对DirectX的精简托管访问,API与非托管版本非常相似(SharpDX是从非托管c ++头文件自动构建的)。 AFAIK这是目前使用DirectX最快的托管方式。
一个非常重要的事情可能是您也能够开发Win8-Metro-Apps。 AFAIK对于其他所有lib都不可能/不允许这样做。我之所以提到这是因为你写了你想要开发/用于Win8,但你没有说过什么样的应用程序。 Metro-Apps比Desktop8 Apps for Win8有更多限制。
如上所述,托管DirectX已过时。但是,自上一版本4发布以来,XNA似乎也不再受到维护。因此,如果你想使用现代DX10或DX11,你会陷入困境,因为XNA使用的是DX9。另一种选择是 ANX框架。该项目目前处于早期开发阶段,但对我来说似乎很有希望。在这种情况下,ANX可以使用DirectX进行渲染并使用SharpDX。与XNA(仅与DirectX9密切相关)相比,SharpDX也能够使用其他渲染器(例如OpenGL for Linux)。
托管DirectX已过时,不再由Microsoft替换,因为它被替换为 XNA。最新版本支持Managed DirectX 这个 一个(2010年2月发布)。
你也可以给 SlimDX 一试:
SlimDX是一个免费的开源框架,使开发人员能够使用.NET技术(如C#,VB.NET和IronPython)轻松构建DirectX应用程序。它旨在成为一个高效,简单,精益的包装器,完全包含Microsoft的所有游戏和多媒体技术,并将它们暴露给托管代码。所有代码均在MIT / X11许可下,所有内容均在Creative Commons Attribution-Share Alike许可下。我们的最新版本是2011年3月,可以在下载页面上找到用户和开发人员。
你可能需要 微软XNA。