C#6,VS2015-3,.Net 4.6,System.Numerics.Vectors没有Vector <t>

时间:2019-04-30 03:26:56

标签: c# vector .net-4.6 system.numerics

我正在将应用程序从Visual Studio 2013 Net 4.5.1升级到Visual Studio 2015 C#6 Net 4.6,并且我想使用System.Numerics.Vectors Vector< T >。我已经在使用Vector4来获取可以在我的应用程序中正常运行的SIMD,但是我希望获得Vector 支持并充分利用较大的AVX / AVX2 SIMD寄存器。

开发系统已安装了Net 4.5、4.51、4.52、4.6、4.61和4.62多目标包和SDK。 项目属性“目标框架”为4.6。我也试过4.61。 项目引用同时包括System.Numerics(4.6.81.0)和System.Numerics.Vectors(4.6.81.0)。

但是我在System.Numerics命名空间中得到的只是BigInteger,Complex,Matrix3x2 / 4x4,Plane,Quaternion,Vector2 / 3/4。 我没有得到Vector

在这个后期(2019年),我是否仍应该安装旧的NuGet Preview软件包以仍然获得Vector ?到目前为止,Vector 是否不属于当前的.Net 4.6和4.61公共版本的一部分? 而且,如果我必须使用旧的NuGet,NuGet包是否只是VS和JIT的相关信息,或者这意味着即使系统上已有System.Numerics.Vectors,我也必须分发另一个DLL。

我一定很蠢...

1 个答案:

答案 0 :(得分:1)

Vector<T>仅位于 .Net 2.1标准预览版中,如果不是 .Net Framework ,则不存在。

  

适用于

     
      
  • .NET Core :3.0预览版3 2.2 2.1 2.0 1.1 1.0
  •   
  • .NET Standard :2.1预览
  •   
  • UWP :10.0
  •   
  • Xamarin.Android :7.1
  •   
  • Xamarin.iOS :10.8
  •   
  • Xamarin.Mac :3.0
  •   

是的,您将必须包含 nuget ,后者将具有自己的 Assembly

  

NuGet包仅仅是VS和JIT的相关信息

据我所知,没有编译器魔术,Vector<T>只是一个普通的结构,所以您要包括的是该结构的定义,仅此而已