编程语言
首页 > 编程语言> > c#-使用aff文件时出现System.EntryPointNotFoundException

c#-使用aff文件时出现System.EntryPointNotFoundException

作者:互联网

我创建了一个项目,在其中输入一个单词,然后使用Hunspell.dll类进行校验.请注意,我是通过xamarin Studio IDE(FOR MAC)从软件包中下载此dll的.我还下载了类检查单词所需的.aff和.dic文件,并将它们添加到我的调试文件夹中,但是当我编译应用程序时,出现以下错误:System.EntryPointNotFoundException.如果您有任何想法,请告诉我.

这是我的代码:

using NHunspell;

public static void Main(string[] args)
{
    string line = Console.ReadLine();
    using (Hunspell hunspell = new Hunspell("en_us.aff", "en_us.dic"))
    {
        bool correct = hunspell.Spell(line);
        Console.WriteLine(line + " is spelled " + (correct ? "correct" : "not correct"));
    }    
}

解决方法:

假设您正在使用Hunspell的NHunspell端口.很可能您的本机Hunspell库不是所需的库(一种CPU体系结构不匹配的东西.)在不知道确切环境和所用库的情况下,很难诊断此问题.

但是,我通过在Visual Studio中使用NuGet安装NHunspell并手动下载aff和dic文件来尝试您的示例.运行正常.我建议您最好尝试从NuGet安装NHunspell. Xamarin Studio还提供supports NuGet软件包管理. NuGet会为您的环境找到合适的本机库,并正确部署它们,等等.

更新:对于Windows以外的平台上的Xamarin.

NHunspell是围绕Hunspell库的.NET包装,该库以C/C++语言编写.为了使NHunspell正常工作,必须为NHunspell能够调用的特定环境构建Hunspell库. Xamarin与此无关.

截至2015年2月的According to the NHunspell author,没有针对非Windows平台的此类构建. NHunspell的最后一个release出现在2015年3月.因此可以放心地假设NHunspell到目前为止仅可用于Windows.因此,即使使用NuGet安装NHunspell也没有任何好处.

我本人尝试在Ubuntu 16.04中使用MonoDevelop中的NHunspell. NuGet安装成功,但是在运行时,出现了完全相同的错误:System.EntryPointNotFoundException.由于MonoDevelop和Xamarin Studio使用相同的.NET运行时(称为Mono),因此Xamarin也应如此.

标签:xamarin-studio,c,nhunspell
来源: https://codeday.me/bug/20191026/1938115.html