Я не знаком с тем, как ASP.NET (используя MVC) работает с .dll
файлами, и хотел бы знать, почему происходит следующее:
В обоих сценариях есть основное приложение MVC ивторичное приложение MVC (MyApps.Secondary
).И в обоих случаях у вторичного приложения есть жестко закодированные местоположения вида в действиях.
Сценарий один
Когда я перемещаю .dll
вторичного приложения в мойВ папке bin
основного приложения MVC я могу перейти к контроллерам во вспомогательном приложении.
Сценарий два
Если переместить .dll
дополнительного приложения впапка другая (называемая extras
) в моем основном веб-приложении, затем мне нужно сделать следующее, чтобы легко перейти к одному из действий / контроллеров внутри дополнительного приложениячерез основное веб-приложение:
1- Добавить MyApps.Secondary
в разделе сборок раздела компиляции
<compilation debug="true" targetFramework="4.0">
<assemblies>
<add assembly="MyApps.Secondary"/>
2- Добавитьпапка extras
(папка, в которой находится MyApps.Secondary
) в элементе исследования
<probing privatePath="bin;extras"/>
Наверное, мой вопрос: почему оба этих сценария работают и зачем мне делать дополнительныеработа в сценарии два?
В ответе на этот вопрос об элементе компиляции говорится, что элемент <compilation><assemblies>
предназначен для компиляции файлов .cs
и .vb
, но в обоих моих сценариях я неесть любой тип файлов.Может быть, он используется для компиляции .aspx/.ascx
страниц для дополнительного приложения?Если он действительно компилирует .aspx/.ascx
файлов, почему мне не нужно включать сборку в первый сценарий?