0

我正在将应用程序从 Visual Studio 2013 Net 4.5.1 升级到 Visual Studio 2015 C#6 Net 4.6,并且我想使用System.Numerics.Vectors Vector< T >. 我一直在使用 Vector4 来获得在我的应用程序中运行良好的 SIMD,但我想获得 Vector<T> 支持并充分利用更大的 AVX/AVX2 SIMD 寄存器。

开发系统安装了 Net 4.5、4.51、4.52、4.6、4.61 和 4.62 多目标包和 SDK。项目属性 Target Framework 为 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< T >。

在这个后期阶段(2019 年),我是否仍然应该安装旧的 NuGet 预览包以仍然获得 Vector<T>?Vector< T > 现在还不是当前 .Net 4.6 和 4.61 公开版本的一部分吗?如果我必须使用旧的 NuGet,NuGet 包是否只是 VS 和 JIT 的相关信息,或者这是否意味着我必须分发另一个 DLL,即使System.Numerics.Vectors系统上已经存在...

我一定是傻...

4

1 回答 1

1

Vector<T>仅在.Net 2.1 标准预览版中,不,它不是.Net Framework的一部分。

适用于

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

是的,您必须包括nuget,它将有自己的Assembly

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

据我所知,没有编译器魔法Vector<T>,它只是一个香草结构,所以你所包含的是这个结构的定义,这就是全部。

于 2019-04-30T03:33:20.110 回答