Отсутствует ссылка на сборку, когда приложение работает в виртуальном приложении (IIS) - PullRequest
0 голосов
/ 07 декабря 2018

У меня есть основной веб-сайт (Net 4.5.2) в моем IIS.Затем я создаю отдельный веб-интерфейс (Net 4.7.2) и запускаю его как виртуальное приложение на основном веб-сайте.Но когда я тестирую webapi для получения данных, я получаю ошибку об отсутствии ссылки на сборку.Ниже приведена ошибка.

Сообщение об ошибке синтаксического анализатора: не удалось загрузить файл или сборку 'System.Web.Optimization' или одну из ее зависимостей.Система не может найти указанный файл.

Затем я устанавливаю эту недостающую сборку в webapi, после чего она отлично работает.

Итак, проблема в следующем:

  1. Зачем мне нужноустановить эту сборку, даже если мой webapi не использовал эту сборку?
  2. Это связано с тем, что web api запускается как виртуальное приложение на моем основном веб-сайте?или из-за другой версии?
  3. Как мне пропустить это без необходимости устанавливать неиспользуемую сборку в webapi?

1 Ответ

0 голосов
/ 10 декабря 2018

Я нашел ответ на это.Это из-за наследования вложенному приложению в IIS.Нужно установить наследование дочернего приложения false на главном сайте web.config.Вот ссылка решение на эту проблему.

<location path="." inheritInChildApplications="false">
  <system.web>
    <!-- ... -->
  </system.web>
</location>
...