Возможно, этот вопрос слишком широкий, но он потратил много времени, и я не могу найти решение для этого. Поэтому я решил поделиться своей проблемой для любой идеи.
У меня есть проект веб-формы ASP.NET, в котором есть веб-страница (.aspx), включающая один тег, подобный следующему:
<iframe runat="server" src="API URL"></iframe>
Запустив проект, я получаю следующую ошибку:
Не удалось загрузить файл или сборку 'Autofac.Integration.Web' или одну из
его зависимости. Система не может найти указанный файл.
Описание : Произошло необработанное исключение во время выполнения
текущий веб-запрос. Пожалуйста, просмотрите трассировку стека для более
информация об ошибке и ее возникновении в коде.
Сведения об исключении : System.IO.FileNotFoundException: не удалось загрузить
файл или сборка 'Autofac.Integration.Web' или одна из ее зависимостей.
Система не может найти указанный файл.
Если я удалю этот тег, у меня не будет ошибок.
Фактически, за пару дней до того, как я добавил Autofac
, и он добавил следующие теги в мою веб-конфигурацию :
<modules runAllManagedModulesForAllRequests="true">
<add name="ContainerDisposal" type="Autofac.Integration.Web.ContainerDisposalModule, Autofac.Integration.Web" preCondition="managedHandler"/>
<add name="PropertyInjection" type="Autofac.Integration.Web.Forms.PropertyInjectionModule, Autofac.Integration.Web" preCondition="managedHandler"/>
</modules>
Когда я удаляю эти add tags
, у меня нет ошибок. Я не знаю, почему эти теги негативно влияют на вызов API.
Еще один момент, который, вероятно, может быть важен, состоит в том, что API включает Hangfire . Но, насколько я знаю, от Autofac нет никаких ссылок на API.
Редактировать
Веб-API расположен в подпапке приложения веб-формы на рабочем сервере следующим образом:
Web Form Application:
> bin
> web.config
> Web API
> bin
> web.config
Как видите, приложение веб-формы web.config влияет на веб-API из-за расположения веб-API. По ряду причин я не могу изменить местоположение.
Я видел много тем и статей об этом, но они не дали мне подсказку.
Есть идеи?
Заранее спасибо.