1

我是 VS 的新手,并试图在我的项目中使用 NHunSpell。经过通常的努力,我认为我走在了正确的轨道上,最后一个问题仍然存在:如何添加.dic.aff文件并将它们存在于我的项目中。

我已经通过 NuGet 安装了 NHunSpell,所以当我提交时它包含在项目中。

到目前为止,我已经尝试过:

  • 将文件放在所有.dll目录中
  • 将它们作为资源添加到项目属性中
  • 将它们作为“始终复制”的“嵌入式资源”嵌入到项目中
  • 将它们作为“始终复制”的“资源”嵌入到项目中

问题是 Hunspell 构造函数需要两个指向文件的字符串参数,如下所示:

 Hunspell hunspell = new Hunspell("en_us.aff", "en_us.dic");

...因此,即使我成功地将它们添加为资源,它们也是 a) 字节数组和 b) 在我构建项目时不包括在内。我已经使用本地机器的绝对路径成功构建了项目,但这显然不是最佳的。

那么,我怎样才能将这些路径添加到构建中(以及后续提交,以便未来的拉取者可以使用它们)?

4

1 回答 1

1

啊哈 - 太久了,看起来解决方案是Server.MapPath

Hunspell hunspell = new Hunspell(
    System.Web.HttpContext.Current.Server.MapPath("~/Assets/dictionaries/en_us.aff"),
    System.Web.HttpContext.Current.Server.MapPath("~/Assets/dictionaries/en_us.dic")
);

要测试基本路径的位置,您可以使用:

string s = System.AppDomain.CurrentDomain.BaseDirectory;
于 2014-03-26T17:19:26.067 回答