У меня есть проект asp.net mvc, который использует несколько методов поиска в отдельной библиотеке.
Эта библиотека должна знать расположение моих индексных файлов lucene.
private static string lucenePath = ConfigurationManager.AppSettings["lucenePath"];
public static ColorList SearchColors(Query query) {
return new ColorList(
new IndexSearcher(Path.GetFullPath(lucenePath)),
query);
}
Это правильно читает мой сконфигурированный lucenePath из ключевого узла приложения web.config.
Но как я могу получить правильный полный путь от этого относительного пути? Path.GetFullPath дает мне совершенно неверный путь.
- Вывод -
Если вы хотите добиться полного успеха, ответ tvanfosson , вероятно, для вас.
Я, тем не менее, держал его немного мертвым, используя следующее:
Path.Combine(AppDomain.CurrentDomain.BaseDirectory,
ConfigurationManager.AppSettings["luceneIndex"].TrimStart('\\'));
Это будет искать в app.config вызывающего абонента ключ приложения, называемый «путь», и объединять его значение с путем вызывающего. TrimStart () гарантирует, что файл конфигурации может содержать начальный \ или нет.