C# 我可以在.NET 2.0或.NET 3.5应用程序中使用Math.NET运行时吗?
我刚下载了Math.NET的最新版本,使用时遇到了一些麻烦 该库是否应该运行在.NET4.0项目上 更新: 编译后的DLL位于“Net40”文件夹中,这是否意味着我无法在2.0项目中引用它 尝试了这段代码,我得到了一个C# 我可以在.NET 2.0或.NET 3.5应用程序中使用Math.NET运行时吗?,c#,.net,math.net,mathnet-numerics,C#,.net,Math.net,Mathnet Numerics,我刚下载了Math.NET的最新版本,使用时遇到了一些麻烦 该库是否应该运行在.NET4.0项目上 更新: 编译后的DLL位于“Net40”文件夹中,这是否意味着我无法在2.0项目中引用它 尝试了这段代码,我得到了一个TypeLoadException(VS2008,目标框架3.5) 使用系统; 使用System.Collections.Generic; 使用System.Linq; 使用System.Windows.Forms; 使用MathNet.Numerics.LinearAlgebra
TypeLoadException
(VS2008,目标框架3.5)
使用系统;
使用System.Collections.Generic;
使用System.Linq;
使用System.Windows.Forms;
使用MathNet.Numerics.LinearAlgebra.Double;
名称空间MathNetTest
{
静态类程序
{
///
///应用程序的主要入口点。
///
[状态线程]
静态void Main()
{
double[,]A=新的double[3,3];
A[0,0]=1;
A[0,1]=0.2;
A[0,2]=1;
A[1,0]=1.5;
A[1,1]=-1.2;
A[1,2]=1.1;
A[2,0]=0.45;
A[2,1]=2.1;
A[2,2]=-0.76;
矩阵XA=新的密度矩阵(A);
矩阵XB=新的密度矩阵(A);
矩阵C=(矩阵)(XA*XB);
}
}
}
根据文档:
它需要.NET 2.0- :.Net 4或更高版本,便携式版本:Silverlight 5或更高版本,Metro
- (数字的前身):.Net 2或更高版本
更新2013-12-14:从v3开始,Math.NET Numerics再次支持.NET 3.5。我想你的意思是:你得到的错误是什么?我相信我是在使用.NET 4.0 System.Numerics dll的特定方法时得到这个错误的,因为它是在2.0应用程序中运行的4.0 dll。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
using MathNet.Numerics.LinearAlgebra.Double;
namespace MathNetTest
{
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
double[,] A = new double[3, 3];
A[0, 0] = 1;
A[0, 1] = 0.2;
A[0, 2] = 1;
A[1, 0] = 1.5;
A[1, 1] = -1.2;
A[1, 2] = 1.1;
A[2, 0] = 0.45;
A[2, 1] = 2.1;
A[2, 2] = -0.76;
Matrix XA = new DenseMatrix(A);
Matrix XB = new DenseMatrix(A);
Matrix C = (Matrix)(XA * XB);
}
}
}
Ensure the Microsoft .NET Framework SDK 2.0 or newer is installed.