MathNet - ' System.TypeInitializationException'

时间:2015-10-03 13:31:11

标签: c# mathnet

我正在尝试使用C#中的MathNet解析表达式字符串,当我尝试使用此代码时:

var h = MathNet.Symbolics.Infix.ParseOrUndefined("1/(a*b)");

它引发了异常。

"未处理的类型' System.TypeInitializationException'发生在MathNet.Symbolics.dll

其他信息:'。$ Infix'的类型初始化程序。抛出异常。"

我哪里错了? 我使用 MathNet v.0.6.0.0 Visual Studio 2012 Express

更新

它是由Windows的修补程序解决的,这是我不能更新的。

2 个答案:

答案 0 :(得分:0)

依赖项似乎有问题。你能列出你正在使用的确切包装版本吗?你正在编译的.Net版本。

假设您已经通过NuGet安装了Math.NET Symbolics,您是否可以尝试更新所有依赖项(使用NuGet)?

编辑:我无法使用较新的VisualStudio版本重现这一点 - 您是否有可能升级,例如到VisualStudio Community哪个也是免费的?

答案 1 :(得分:-1)

我猜你必须使用这种语法:

 var H = MathNet.Symbolics.Infix.Parse "1/(a*b)";

有趣的是,上述函数将返回1 /(a * b)而不是该计算的解。如果你想要H得到结果,你必须使用:

 var H = MathNet.Symbolics.Infix.Parse "1/(a*b)";
 MathNet.Symbolics.Infix.Print(H);