0

我是新来的。

我有一个很想得到帮助的问题。我对 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 社区 2017 上创建了一个新的 .net 框架 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”是否编译时出现错误,还是我必须在我的项目中添加一些东西?

请不要告诉我使用“十进制”类,因为它不适合我的目的,因为它不使用所有位而且太慢了。

4

1 回答 1

1

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

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

于 2017-08-22T23:31:04.830 回答