继续从MathNet Numerics库中获取运行时错误。似乎无法让它发挥作用

时间:2014-07-15 10:21:41

标签: c# .net mathnet

我一直试图让MathNet.Numerics库工作。每次我尝试初始化矩阵时,我都会收到这个奇怪的运行时错误。我已经在互联网上搜索类似问题的帖子,没有任何运气。这让我相信我可能错过了一些可能显而易见的东西。我将描述我如何包含库以及创建错误的代码,尽管我不相信代码是问题,因为它是从math.net示例站点获取的,如何使用矩阵。 / p>

原来如此!我尝试了两种导入库的方法。第一个是打开 NuGet 程序包管理器控制台并编写 Install-Package MathNet.Numerics 这就是它!第二种方法是打开Manage NuGet Packages。然后搜索mathnet.numerics然后安装它。对我来说,这与前一种方法完全相同,对吧?

无论如何现在库似乎是导入的,这是因为我可以构建以下代码而没有任何错误。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using MathNet.Numerics.LinearAlgebra;           // Maybe unnecessary to include this         one as well as the one below
using MathNet.Numerics.LinearAlgebra.Double;

namespace ConsoleApplication5
{
    class Program
    {
        static void Main(string[] args)
        {

            Matrix<double> A = DenseMatrix.OfArray(new double[,] {
                                                                {1,1,1,1},
                                                                {1,2,3,4},
                                                                {4,3,2,1}});
            Vector<double>[] nullspace = A.Kernel();
        }
    }
}

然后我构建它,这可能是问题所在。我怀疑了!我只是构建它,即右键单击解决方案并构建!没有错误!

然后当我运行程序时,当DeseMatrix.OfArray ....被驱逐时,我得到以下异常。

  

未处理的类型&#39; System.TypeInitializationException&#39;发生在MathNet.Numerics.dll中   附加信息:&#39; MathNet.Numerics.LinearAlgebra.Storage.MatrixStorage`1&#39;的类型初始值设定项。抛出异常。

总结这个相当长的问题:我缺少什么?

PS。该项目必须与.Net 3.5一起运行。别担心,我也试过在.net 4.5中做同样的事情。我也在几台计算机上试过这个解决方案,赢得了7和8。

1 个答案:

答案 0 :(得分:1)

我今天遇到了这个问题。我需要添加TaskParallelLibrary。右键单击引用,管理nuget包并在线搜索taskparallel。 这为我修好了。似乎是一种依赖。