Как передать относительный путь в appsetting

#configuration #web-config

#конфигурация #web-config

Вопрос:

у меня есть следующий код, и когда я передаю абсолютный путь, мой проект работает, но мне нужна конфигурация относительного пути.ini — это файл, который находится в моем текущем проекте, поэтому, когда я указываю абсолютный путь, например, так, код никогда не запускается

 <app Settings
 <add key="Configuration Path"    value="d:DocsWcfServiceConfiguration.INI"/>
    </app Settings
  

мне нужно что-то подобное, есть ли какой-нибудь способ?

 <app Settings
 <add key="Configuration Path"    value="~Configuration.INI"/>
</app Settings
  

Ответ №1:

Сервер.MapPath

 var physicalPath = Server.MapPath("~Configuration.ini");
  

Комментарии:

1. как мне это использовать, пожалуйста, объясните, нужно ли мне писать так <добавить ключ =»путь подтверждения» значение =физический путь />

2. @NitinBourai — Нет, сохраните свой относительный путь в web.config, как у вас уже есть, но когда вы извлекаете путь из конфигурации вместо того, чтобы использовать его напрямую для открытия файла, запустите его, Server.MapPath и он разрешит путь для вас.

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

Ответ №2:

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

Попробуйте щелкнуть файл, расположенный в обозревателе решений, и разверните вкладку свойств, чтобы изменить «копировать в выходной каталог» на «Копировать всегда». Насколько я знаю, VS копирует файл в папку bin Debug каждый раз, когда мы запускаем проект, поэтому относительный путь к этому файлу всегда будет одинаковым как во время разработки, так и после развертывания.

После этого приведенного ниже кода будет достаточно

 <app Settings
     <add key="Configuration Path"    value="Configuration.INI"/>
</app Settings