无法使用 128 位浮点库 QPFloat 编译控制台应用程序

Can't compile console app, using QPFloat, a 128-bit floating-point library

我是新来的。

我有一个问题希望得到帮助。我是 c# 的新手,我正在尝试使用支持 128 位浮点运算的 QPFloat 库 (https://sourceforge.net/p/qpfloat/home/Home/)。

我在GitHub(https://github.com/coder0xff/QPFloat)上下载了源代码,我解压了它,然后我打开了"QPFloat.sln"。

我在 x64 上构建它并创建了“./x64/Release/QPFloat.dll”。一切正常。

我在 visual studio community 2017 上创建了一个新的 .net framework 4.6.1 控制台项目,我引用了 "QPFloat.dll" 并创建了以下代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp2
{
    class Program
    {
        static void Main(string[] args)
        {
            System.Quadruple a;
            Console.Out.WriteLine(System.Quadruple.Pi.ToString());
            Console.ReadKey();
        }
    }
}

我执行它,它抛出我:

An unhandled exception of type 'System.BadImageFormatException' occurred in Unknown Module.
Could not load file or assembly 'QPFloat, Version=1.0.6443.35018, Culture=neutral, PublicKeyToken=null' or one of its dependencies. An attempt was made to load a program with an incorrect format.

我不知道哪里出了问题。 "QPFloat.dll" 编译时出现错误还是我必须向我的项目添加一些东西?

请不要告诉我使用 "Decimal" class 因为它不适合我的目的,因为它不使用所有位而且速度太慢。

I built it on x64 and it created "./x64/Release/QPFloat.dll". Everything ok.

您在 64 位中构建了 QPFloat 库。我会猜测您正在以 Any CPU 模式构建示例控制台应用程序。您也应该尝试在 64 位模式下构建它,希望这能解决您的问题