Вспомогательный класс конфигурации dynamics 365 webapi не находит файл конфигурации

У меня есть решение, которое выводит данные из службы WCF и считывает их из Dynamics 365 WebAPI.

Основной проект - это служба WCF, размещенная в IIS. При отладке использую IIS Express.

У меня есть проект уровня данных (dll), в который импортирован CRM WebAPI Helper Classes внутри проекта.

Когда я запускаю отладчик (IISExpress), уровень данных будет использовать вспомогательный класс WebAPI FileConfiguration, чтобы попытаться прочитать из него конфигурацию. Этот шаг не выполняется, потому что он пытается найти файл конфигурации с именем C:\Program Files (x86)\IIS Express\iisexpress.exe.config, которого не существует. В этом каталоге нет ни одной библиотеки DLL проекта.

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

Мой вопрос в том, как найти правильный путь для dll доступа к данным независимо от среды, в которой я нахожусь? Вспомогательный класс FileConfiguration использует Directory.GetCurrentDirectory(), и я не уверен, что он всегда применим?

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

Откуда взялся WebAPI Helper Class?

Federico Jousset 12.04.2018 12:42

Это из пакета nuget Microsoft.CrmSdk.WebApi.Samples.HelperCode

kor_ 12.04.2018 13:01

Читать с web.config можно только стандартным способом, msdn.microsoft.com/en-us/library/610xe886.aspx

Lex Li 12.04.2018 23:47
0
3
56
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я обнаружил, что могу получить путь к приложению IIS с помощью HttpRuntime.AppDomainAppPath.

Как получить путь к приложению ASP.NET?

Другие вопросы по теме