Как добавить словарь NHunspell в Visual Studio 2012?

Я новичок в VS и пытаюсь использовать NHunSpell в моем проекте. После обычных усилий, я думаю, что я на правильном пути, и остается еще одна проблема: как добавить .dic а также .aff файлы и их в моем проекте.

Я установил NHunSpell через NuGet, поэтому он включается в проект, когда я фиксирую.

Пока что я пробовал:

  • Помещение файлов во все .dll каталоги
  • Добавление их в качестве ресурса в свойствах проекта
  • Встраивание их в проект как "встроенный ресурс" с "копировать всегда"
  • Встраивание их в проект как "ресурс" с "копировать всегда"

Проблема в том, что конструктор Hunspell ожидает двух строковых аргументов, указывающих на файлы, например:

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

... так что даже когда я успешно добавляю их в качестве ресурса, они а) байтовые массивы и б) не включаются при сборке проекта. Я успешно создал проект с абсолютными путями к локальной машине, но это, очевидно, не оптимально.

Итак, как я могу добавить эти пути в сборку (и последующую фиксацию, чтобы будущие извлекатели могли их использовать)?

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;
Другие вопросы по тегам