ASP.NET - каталог bin против добавления сборки в web.conf
Я относительно новичок в программировании ASP.NET (но не программирование в целом), и я просматривал проект, который был передан мне. В этом проекте есть каталог bin, содержащий множество различных DLL-файлов.
Затем в файле web.conf внутри структуры сборок (в XML) добавляется множество других сборок.
Я выполнил поиск как по SO, так и по Google в целом, и до сих пор не могу понять, какая разница между ними. Один путь "лучше", чем другой? Любые разъяснения, которые могут быть предоставлены, будут наиболее цениться.
Благодарю.
2 ответа
Существует несколько способов ссылки на сборки (обычно DLL) в приложении ASP.NET:
Добавьте DLL в директорию bin вашего приложения. Это создает неявную ссылку в каждом файле кода и файле ASPX в вашем приложении на эту DLL. Это означает, что код внутри файла ASPX или внутри файла CS в App_Code может использовать типы в этой DLL.
Добавьте ссылку на DLL в
<assemblies>
раздел в web.config. Посмотрите MSDN для деталей о синтаксисе. Как правило, существует несколько файлов web.config, которые применяются к конкретному веб-приложению. Само приложение может иметь несколько файлов web.config (например, web.config в определенной папке может добавлять свои собственные ссылки). Существует также глобальный web.config (или machine.config), в котором есть ссылки, доступные для всех приложений ASP.NET на компьютере.Использовать
<%@ Assembly Name="" %>
директива в определенном файле ASPX (или ASCX или MASTER). Посмотрите MSDN для деталей о синтаксисе.
Ссылки в данном файле в приложении ASP.NET представляют собой комбинацию из указанных выше элементов.
Причина, по которой вы должны ссылаться на сборки, заключается в том, что файлы ASPX (как и сами файлы CS и VB) в конечном итоге компилируются компилятором C# или VB. Чтобы эти компиляторы знали, какие типы вы хотите использовать, им нужно знать, какие сборки содержат эти типы.
Каталог bin - это копия всех dll, созданных и на которые ссылается ваш проект. Когда веб-приложение запущено, оно ищет в каталоге bin физические библиотеки DLL, необходимые для выполнения веб-приложения.